|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
|
Как правильно удалять Child -ов из памяти
Допустим есть Sprite, в который addChild-ом добавлены много экземпляров разных классов.
как правильно удалить из не всех детей это понятно, но при утом мы удаляем только визуально со сцены, но как я знаю они все равно остаются в памяти, как затем удалять из из памяти. Если сделать такую манипуляцию this.spr1 = null а потом создать спрайт заного, дети удалятся? Но это мне кажется что это какой то костыль. Подскажите плиз как удалять детей бесследно. |
|
|||||
Регистрация: Nov 2010
Сообщений: 430
|
Визуально удалить это
А removeChild в справке описан так: Цитата:
__________________
Лучше спросить и выставить себя дураком на пять минут, чем не спросить и остаться дураком на всю жизнь. |
|
|||||
Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
|
ну вот допустим код
var sprite1:Sprite = new Sprite(); for (var i:int = 0;i<5;i++){ var obj = new ObjectClass(); sprite1.addChild(obj); } while(this.sprite1.numChildren>0){ this.sprite1.removeChildAt(0); } после этого как я понимаю ссылки на объекты obj остаются, как очистить память от них. мусорщик ух не уберет. |
|
|||||
Регистрация: Nov 2010
Сообщений: 430
|
Почему вы так считаете?
__________________
Лучше спросить и выставить себя дураком на пять минут, чем не спросить и остаться дураком на всю жизнь. |
|
|||||
Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
|
ну как видно из документации мусорщик не удаляет объекты на которые еще сохранились ссылки.
а на эти объекты сохранятся ссылки если создавать их в функции? Последний раз редактировалось Isfet; 09.08.2012 в 10:18. |
|
|||||
Цитата:
Если не поле класса и наружу ссылок не выдавали, то ничего в памяти не останется. Как же вы интересно обратитесь к obj после выполнения кода этой функции?
__________________
9 из 10 голосов в моей голове сказали наркотикам "НЕТ" Мои ачивки: художник-паразит. |
|
|||||
Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
|
обращусь по слушателю мыши, прописанному в классе.
спасибо за ответы |
|
|||||
Про слушатели вы не упоминали.
Отписываться надо.
__________________
9 из 10 голосов в моей голове сказали наркотикам "НЕТ" Мои ачивки: художник-паразит. |
|
|||||
Цитата:
Также ссылки на объекты порождаются в результате подписки на события. Еще ссылки вы можете создать вручную - поля класса, объекта, переменные и т.д. Про локальные переменные тоже надо упомянуть - локальные переменные(ссылки на объекты) удаляются после завершения выполнения функции или метода. Соответственно, нет ссылки - объект доступен сборщику мусора. Это не костыль. Это просто не сработает. Занулеине ссылки на spr1 ничего не делает с самим объектом и не удаляет его из дерева отображения. Вобще нет смысла в данном действии. |
|
|||||
Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
|
тоесть если в экземпляре класса есть хоть одна паблик переменная или функция к которой есть обращение , или слушатель или где нибудь еще храниться ссылка на этот укземпляр , то мусорщик его не соберет?
|
Часовой пояс GMT +4, время: 08:25. |
|
« Предыдущая тема | Следующая тема » |
|
|