![]() |
Не изобрели ли способ выяснить, что препятствует удалению объекта?
Вроде делаю все правильно. Все листенеры чищу, таймеров изначально нет, из родителя со сцены удаляю, из массива, в котором он был учтен, удаляю, сам родитель из памяти удаляется, а этот объект как был в памяти, так и висит (смотрю через профайлер FD).
Совершенно алогичное поведение. Не появился у нас способ вытащить как нибудь информацию "я не удаляюсь, потому что..."? |
Профайлер сам может ссылку задержать на объект.
А способов нет :) |
Интересно, а можно ли добраться до удаленного объекта, чтобы его опросить?
Так, в порядке бреда. Ставим AnybodyHereQuestionDispatcher, который по определенному интервалу пускает в эфир вопрос ANYBODY_HERE. Даем ему статический инстанс (AnybodyHereQuestionDispatcher.instance), а в сам объект ставим листенер на событие ANYBODY_HERE от него. По идее, такой листенер не должен помешать удалить объект. В самом объекте по получению события ANYBODY_HERE в ответ отправляем событие I_AM_HERE с бабблзом, которое ловим на верхнем уровне и через которое заново получаем доступ к удаленному ранее объекту. |
А как он словит ANYBODY_HERE и как вы словите I_AM_HERE если вы удалили объект отовсюду ?
Возможно через сигналы можно, но в сигнале наверное сохраняется ссылка на объект и он всё равно не удалится ? |
AlexLucas,
Через слабую ссылку диспетчера? Удаляемому объекту ничто не мешает обратиться к внешним классам или вызвать трейс. |
Цитата:
Он сидит в памяти, жрет ресурс и даже, не исключаю, что-то делает. :) И отправить ему событие I_AM_HERE (да, со всплывающим я глупость сморозил) вот таким образом вроде никто не помешает? Код AS3:
Код AS3:
Код AS3:
|
| Часовой пояс GMT +4, время: 02:01. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.