|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.01.2013, 19:25 | #1 |
Пользователь
Регистрация: 22.07.2012
Сообщений: 11
|
Flash правильное удаление обьектов
Подскажите какие из этих обьектов удалятся, а какие нет.
Код:
|
09.01.2013, 22:00 | #2 |
Пользователь
Регистрация: 21.01.2011
Сообщений: 46
|
в первом случае со сцены удалится все что находится в s1 (если что-то есть в нем) и собственно сам спрайт s1.
во втором случае то же самое что и в первом. в третьем случае при учете что Sprite1 находится на Main, то со сцены удалиться Sprite1 |
10.01.2013, 06:12 | #3 |
Пользователь
Регистрация: 22.07.2012
Сообщений: 11
|
ну спасибо большое. а вот еще вопросик:
addChild(s1); s1.addChild(s2); s2.addEventListener(MouseEvent.Clic k, onClick); removeChild(s1); s1 = null; Сейчас второй спрайт удалится? или он удалится только после s2.removeEventListener(MouseEvent.C lick, onClick)? |
10.01.2013, 14:26 | #4 |
Пользователь
Регистрация: 21.01.2011
Сообщений: 46
|
Удалиться со стейджа и s1 и s2. Удалится сам объект s1 так как делается обнуление. Объект s2 не удалиться.
Не путай удаление некого отображения со стейджа и удаление самого объекта, это разные вещи. Например вот так вот: Код:
А вот в этом случае: Код:
Последний раз редактировалось rocket-ua; 10.01.2013 в 15:07. |
10.01.2013, 15:20 | #5 |
Пользователь
Регистрация: 22.07.2012
Сообщений: 11
|
Чет я неодуплил до конца... Т.е. в третьем примере (в первом посте который описан) обьект удалится только со сцены, но останется в памяти?
|
10.01.2013, 15:29 | #6 |
Пользователь
Регистрация: 21.01.2011
Сообщений: 46
|
Да, именно так.
|
10.01.2013, 16:35 | #7 |
Пользователь
Регистрация: 22.07.2012
Сообщений: 11
|
А как его удалить тогда?
|
10.01.2013, 18:26 | #8 |
Пользователь
Регистрация: 21.01.2011
Сообщений: 46
|
если на объект нет сильных ссылок и он удален со сцены то его когда-то теоретически может собрать гарбач коллектор. Или же самому ручками его обнулить.
|
10.01.2013, 19:01 | #9 |
Пользователь
Регистрация: 22.07.2012
Сообщений: 11
|
ну теперь вроде все ясно. спасибо. А почему теоретически то? т.е. на практики этого не происходит?
|
10.01.2013, 21:38 | #10 |
Пользователь
Регистрация: 21.01.2011
Сообщений: 46
|
Ну потому что не понятно когда он доберется до объекта что бы удалить его
Можно вызвать принудительную очистку мусора вот так: System.gc(), но это только для дебаговой версии флешплеера. |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Подключить класс flash.filesystem от Adobe AIR в JPEXS Free Flash Decompiler | ArtGrek | Общие вопросы Web | 2 | 12.02.2017 02:52 |
Помогите найти программу для создания flash роликов, Flash анимации | Илья Квашнин | Общие вопросы Web | 2 | 29.01.2016 22:55 |
Правильное удаление двумерного динамического массива | Gdasar | C++ Builder | 3 | 23.02.2015 02:30 |
Правильное удаление строки в БД с определённым id .. | shytka | PHP | 36 | 12.07.2010 13:05 |
Правильное удаление Blob-поля из базы | Neeter | БД в Delphi | 5 | 15.05.2009 17:37 |