Просмотр полной версии : Удаление Твина, нужно ли?
mihael_p
13.06.2013, 11:24
Никогда не задумывался о такой штуке как удаление твина, до сегодняшнего дня - набрел на такую запись:
TweenLite.killTweensOf(mc);
Вот и задумался, есть ли разница для GC и загрузки памяти между таким удалением объекта на котором есть твин:
TweenLite.killTweensOf(mc);
removeChild(mc);
и таким удалением:
removeChild(mc);
Кто знает, подскажите пожалуйста.
MikroAcse
13.06.2013, 14:49
По окончанию твина он удалится сам, а вот если он еще не закончился, то стоит его удалить.
А какое вообще дело GC до removeChild(mc); ?
Удаление из Списка отображения и удаление объекта из памяти — две большие разницы.
Тем не менее, "есть ли разница" — думаю есть, твин скорее всего будет продолжать работать с объектом, даже если последний больше не отображается. Вы же можете задавать объекту ширину или координаты, или прозрачность, и только потом добавить его в СО методом addChild()? Ну так и когда вы вытащите его из СО методом removeChild(), твин точно так же будет продолжать менять его свойства по своей программе.
Ну а для GC убивание твина нужно конечно, если вы собрались удалить сам объект, совсем, из памяти а не из Списка отображения. Твин же хранит на него ссылку, и это не позволит GC забрать такой объект.
mihael_p
13.06.2013, 18:17
Wolsh, Спасибо большое за разъяснение, именно такого подробного ответа я и ждал.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.