Flex ArrayCollection:RemoveAll()vs new ArrayCollection

时间:2011-03-12 23:31:31

标签: flex

如果要清除数组集合,何时需要使用removeAll()与新的ArrayCollection。

删除列表中每个项目的所有迭代。我不想看到我想要使用它的情况。

2 个答案:

答案 0 :(得分:8)

如果ArrayCollection包含附加了propertyChange事件调度程序的项目(带绑定?),您可能想要使用removeAll。 removeAll会很好地为您清理这些事件。

但是,如果使用新的ArrayCollection,旧的ArrayCollection将从引用中释放,但可能永远不会被垃圾回收,因为它仍然附加了引用。这可能会导致内存泄漏。

答案 1 :(得分:4)

请注意,如果定义并应用了filterFunction(.refresh()),则removeAll()实际上不会从集合中删除所有元素,并且源数组中有任何元素,被此过滤器拒绝。