![]() |
Как правильно удалить MovieClip, чтобы он исчез из памяти?
Как правильно удалить MovieClip, чтобы он исчез из памяти? Все-таки как это правильно делается? Я всегда в сомнениях по этому поводу. Вопрос к тем кто уже научился.
Есть звездочка, которая пролетает от одного угла экрана до другого. В ней есть слушатель события EnterFrame Когда звездочка выходит из области видимости, слушатель снимается, а она сама удаляется со сцены. 1) Если звездочка созданная внутри функции и ссылки на нее не осталось она удалится из памяти? Код AS3:
2) Если на этой же звездочке кроме слушателя события EnterFrame был еще слушатель MouseEvent.CLICK, который остался после удаления ее со сцены, то звездочка удалится из памяти? 3) Как правильно удалить эту же звездочку если у нее есть дочерние мувики на которых висят слушатели на клик мышкой? 4) Как удалить звездочку ссылка на которую имеется в программе? Код AS3:
|
1) через какое-то время, когда GC решит, что превышена допустимая планка.
2) удалится, но слушатель будет висеть в памяти 3) желательно убивать и слушатели у внутренних тоже. Но насколько мне известно, если на слушатель нет ссылке из-вне, то GC вполне может успешно почистить кольцевые ссылки. Однако, я бы рекомендовал "деструкторы" вручную писать 4) удалить из списка отображения и заNULLить ссылку Цитата:
|
1 - да
2 - да 3 - removeChild(звездочка), так же как 1 и 2 случаи 4 - removeChild + star = null |
| Часовой пояс GMT +4, время: 14:43. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.