Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 21.06.2012, 15:10
viktorami вне форума Посмотреть профиль Отправить личное сообщение для viktorami Найти все сообщения от viktorami
  № 1  
Ответить с цитированием
viktorami

Регистрация: Sep 2011
Сообщений: 524
По умолчанию философия полного удаления объекта?

есть класс, показанный в виде экземпляра на экране. Он имеет внутреннюю сложную структуру. куча слушателей там. Да и сам класс переплетен многими событиями с другими объектами на сцене.
Прочитал что - даже если присвоить экземпляру null - то чтобы он освободили память надо отписать все слушатели. А попробуй их найти да ни один не забыть! это двинутся можно вообще.
Подскажите реальную ситуацию - как это делелать лучшим способом?

Старый 21.06.2012, 15:28
Aquahawk вне форума Посмотреть профиль Отправить личное сообщение для Aquahawk Посетить домашнюю страницу Aquahawk Найти все сообщения от Aquahawk
  № 2  
Ответить с цитированием
Aquahawk
 
Аватар для Aquahawk

Регистрация: Nov 2010
Адрес: Москва
Сообщений: 915
Записей в блоге: 4
Отправить сообщение для Aquahawk с помощью ICQ Отправить сообщение для Aquahawk с помощью Skype™
Написал подписку, сразу же напиши отписку. Вы в скобочках не путаетесь? Я вот сразу обе скобочки ставлю и потом меж ними пишу. Так и с событиями. Подписался, сразу напиши код который отпишется тогда когда это будет не нужно.
__________________
:)

Старый 21.06.2012, 15:49
DaFive вне форума Посмотреть профиль Отправить личное сообщение для DaFive Посетить домашнюю страницу DaFive Найти все сообщения от DaFive
  № 3  
Ответить с цитированием
DaFive
 
Аватар для DaFive

Регистрация: May 2008
Адрес: {0,0}
Сообщений: 754
Записей в блоге: 1
Отправить сообщение для DaFive с помощью ICQ
EventManager написать, который будет включать в себя все события и к кому они подписаны, а потом одним методом removeAll удалять все события от элемента.
__________________
Кодинг, багинг, алгоритминг. me @

Старый 21.06.2012, 16:31
viktorami вне форума Посмотреть профиль Отправить личное сообщение для viktorami Найти все сообщения от viktorami
  № 4  
Ответить с цитированием
viktorami

Регистрация: Sep 2011
Сообщений: 524
ничего пока не понял. есть объект. нужно удалить все внешние слушатели событий в которых он фигурирует?

Старый 21.06.2012, 16:45
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 5  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Если объект подписался на прослушивание события у внешнего объекта (который не будет удален вместе с объектом) и передал ему в качестве слушателя свой метод (фактически дал ему ссылку на себя), то такую связь необходимо разорвать перед удалением (отписаться от события). Объекты слушающие события у удаляемого объекта не влияют на его доступность сборщику мусора, т.к. не имеют ссылки на него (если она не была создана намеренно).
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 21.06.2012, 16:48
viktorami вне форума Посмотреть профиль Отправить личное сообщение для viktorami Найти все сообщения от viktorami
  № 6  
Ответить с цитированием
viktorami

Регистрация: Sep 2011
Сообщений: 524
Код AS1/AS2:
addEventListener(eventer.GALLERY_IMAGE_CLICK, myObgect.function);
вот от подобных строк надо отписатся? если MyObgect - удаляемый объект?
п.с. а как проконтролировать - удалился ли объект или удаление не сработало из за оставшися слушателей?

Старый 21.06.2012, 16:52
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 7  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
1. Да.
2. С помощью профайлера.
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 21.06.2012, 18:05
viktorami вне форума Посмотреть профиль Отправить личное сообщение для viktorami Найти все сообщения от viktorami
  № 8  
Ответить с цитированием
viktorami

Регистрация: Sep 2011
Сообщений: 524
а не подскажете- как его запустить в builder?

Старый 21.06.2012, 18:20
Aquahawk вне форума Посмотреть профиль Отправить личное сообщение для Aquahawk Посетить домашнюю страницу Aquahawk Найти все сообщения от Aquahawk
  № 9  
Ответить с цитированием
Aquahawk
 
Аватар для Aquahawk

Регистрация: Nov 2010
Адрес: Москва
Сообщений: 915
Записей в блоге: 4
Отправить сообщение для Aquahawk с помощью ICQ Отправить сообщение для Aquahawk с помощью Skype™
вот так
__________________
:)

Старый 21.06.2012, 18:28
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 10  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Кнопка рядом с дебагом.
__________________
משיח לא בא
משיח גם לא מטלפן

Создать новую тему Ответ Часовой пояс GMT +4, время: 21:27.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 21:27.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.