Показать сообщение отдельно
Старый 09.08.2012, 17:39
kackbip вне форума Посмотреть профиль Отправить личное сообщение для kackbip Найти все сообщения от kackbip
  № 9  
Ответить с цитированием
kackbip
 
Аватар для kackbip

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