![]() |
|
||||||||||
|
|||||
|
Регистрация: Jun 2014
Сообщений: 5
|
Здравствуйте, я вот только недавно начал изучать данный язык и сразу озадачился таким вопросом
Если удалить родительский объект все дочерьнии удалятся в месте с ним и освободят память? у меня есть мувик в котором много разных объектов var mc:MovieClip = new MovieClip(); mc.addChild(new ImgClass()); mc.addChild(new ImgClass2()); ... stage.addChild(mc); И тут же если там внутри mc на каких то объектах весят слушатели событий что будет с ними? ---------- И еще например если я создал во Flash CS5 новый MovieClip в него натыкал картинок с библиотеки и других мувиков "не программно" задам ему класс "GameScreen" и программно добавил его на сцену после чего я его удалю со сцены removeChild или GameScreen = null все что было внутри тоже удалится из памяти? Буду благодарен за любую подсказку |
|
|||||
|
removeChild удаляет только из списка отображения.
К сожалению памятью управлять мы не можем, но мы можем удалить все ссылки на объект (GameScreen = null), удалить все слушатели. После этого GC сам удалит ненужный объект. |
|
|||||
|
Регистрация: Jun 2014
Сообщений: 5
|
in4core, а что если в мувике очень много разных объектов и в утри объектов еще объекты целая иерархия
это выходит нужно вручную прописывать для всех удаление и убирать слушатели? В выше сказаном посте Цитата:
Я долго мучался чтобы создать прелоадер вообщем в сети нашел такой метатег как дальше сам прелоадер взял с FlashDevelop'a там такие строки есть var mainClass:Class = getDefinitionByName("Main") as Class; if (parent == stage) stage.addChild(new mainClass() as DisplayObject); else addChild(new mainClass() as DisplayObject); Но если написать так В этом случае просто белый экран пока не загрузи всю графику, из за чего оно так делает всем тут секрет поидеи в обоих случаях оно просто создает класс |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:25. |
|
|
« Предыдущая тема | Следующая тема » |
|
|