【问题标题】:How do you delete itemrenderers in a spark Listform for mobile?如何删除移动设备火花列表表单中的项目渲染器?
【发布时间】: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


【解决方案1】:

如果您只想将标签用作项目渲染器,那么在移动应用程序中建议使用 LabelItemRenderer

【讨论】:

    【解决方案2】:

    将 itemRenderer 设置为 null。下次运行 GC 时,内存中的项目渲染器将被移除。

    【讨论】:

      猜你喜欢
      • 2011-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-23
      • 1970-01-01
      • 2021-09-28
      • 1970-01-01
      相关资源
      最近更新 更多