Flex ArrayCollection: RemoveAll () против новой ArrayCollection - PullRequest
2 голосов
/ 13 марта 2011

Когда вы хотите использовать removeAll () вместо просто новой ArrayCollection, когда вы хотите очистить коллекцию массивов.

Удалить все итерации, хотя каждый элемент в списке.Я не вижу случая, когда я бы хотел его использовать.

Ответы [ 2 ]

8 голосов
/ 13 марта 2011

Возможно, вы захотите использовать removeAll в случае, когда ArrayCollection содержит элементы с прикрепленным к ним диспетчером событий propertyChange (с привязками?).RemoveAll очистит эти события хорошо для вас.

Однако, если вы используете новую коллекцию ArrayCollection, старая коллекция ArrayCollection будет освобождена от ссылки, но, возможно, никогда не будет сборщиком мусора, поскольку к ней все еще прикреплены ссылки.Это может привести к утечке памяти.

4 голосов
/ 29 марта 2013

Обратите внимание, что removeAll () фактически не удалит ВСЕ элементы из коллекции в случае, если функция filterFunction определена и применена (.refresh ()), и в исходном массиве есть какие-либо элементы, отклоненные этим фильтром.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...