Цитата:
Сообщение от Isfet
но при утом мы удаляем только визуально со сцены, но как я знаю они все равно остаются в памяти, как затем удалять из из памяти.
|
Из памяти вы во флэше ничего никогда не удаляете(за редким исключением). Есть простое правило - нужно чтобы на объект не было ссылок. Тогда сборщик мусора сможет удалить объект из памяти. Если вы добавляете визуальный объект в контейнер, ссылка на визуальный объект сохраняется в контейнере. Когда вы удаляете объект из контейнера - ссылка тоже зануляется. И если это была единственная связь с объектом, он может быть удален сборщиком мусора.
Также ссылки на объекты порождаются в результате подписки на события. Еще ссылки вы можете создать вручную - поля класса, объекта, переменные и т.д.
Про локальные переменные тоже надо упомянуть - локальные переменные(ссылки на объекты) удаляются после завершения выполнения функции или метода. Соответственно, нет ссылки - объект доступен сборщику мусора.
Цитата:
Сообщение от Isfet
Если сделать такую манипуляцию this.spr1 = null а потом создать спрайт заного, дети удалятся?
Но это мне кажется что это какой то костыль.
Подскажите плиз как удалять детей бесследно.
|
Это не костыль. Это просто не сработает. Занулеине ссылки на spr1 ничего не делает с самим объектом и не удаляет его из дерева отображения. Вобще нет смысла в данном действии.