【发布时间】:2011-10-04 06:15:02
【问题描述】:
我有一个带有自定义 mxml itemRenderer 的 spark ListForm, itemRenderer 的全部内容是:
<s:Label text="{data.name}" />
当我运行分析器时,列表表单没有重新使用 itemRenderers, 实例不断增加, 我使用 arrayCollection 作为数据提供者。 我什至称 dataprovider (arrayCollection) .removeAll() 和 显示变为空白,但 itemRenderer 的实例数确实 不下去。然后我在分析器中运行垃圾收集器,然后 项目渲染器仍保留在内存中。如何从内存中删除 itemRenderers?
【问题讨论】:
-
向我们展示您的完整渲染器;对于初学者。我不认为 Spark itemRenderer 的顶级组件可以是标签。也不要使用绑定;做奇怪的事情;而是侦听 dataChange 事件并以这种方式更新文本。还要确保您使用的是 virtualLayouts。我认为这是布局类的一个属性。
-
您是否偶然使用了 itemRendererFunction?在 Flex 4.6 之前 itemRendererFunction 不回收项目渲染器。有关更多信息,请参阅本次演讲的最后几张幻灯片:flexponential.com/2011/10/05/…
标签: apache-flex memory itemrenderers