ActionScript Clean Up - PullRequest
       8

ActionScript Clean Up

1 голос
/ 30 мая 2010

Я хочу освободить spriteClass из памяти и удалить его из списка отображения.

когда создается экземпляр spriteClass, он создает некоторые из своих собственных спрайтов с новыми событиями tweens и tween и добавляет их в качестве дочерних. я понимаю, что события промежуточного кадра должны быть удалены, чтобы spritClass стал доступен для сборки мусора, и только после этого я должен удалить и аннулировать spriteClass, но я должен также обнулить и удалить дочерние и твиновые дочерние элементы spriteClass, а также это не имеет значения?

по сути, я хотел бы знать, написав

spriteClass.deallocate(); //removes it's tween event listeners;
removeChild(spriteClass);
spriteClass = null; 

он автоматически удаляет все добавленные потомки и новые экземпляры, такие как твины, спрайты, ссылки, что угодно, или я отвечаю за их удаление вместе со слушателями событий из моей функции spriteClass.deallocate ()?

1 Ответ

0 голосов
/ 04 марта 2011

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

Однако вам нужно будет удалить всех слушателей на дочерних элементах, если они не имеют слабых ссылок (необязательный аргумент addEventListener).

Также для справки вы можете проверить, выполняет ли сборщик мусора свою работу с помощью профилировщика Flash Builder Premium (http://help.adobe.com/en_US/flashbuilder/using/WS6f97d7caa66ef6eb1e63e3d11b6c4d0d21-7e46.html)

P.S. Вы можете использовать IDE Flash Builder, даже если это чистый проект AS3 или Flash.

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