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

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

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

Регистрация: Jun 2007
Сообщений: 374
Question Удаление объекта и его слушателей

Вопрос такой: надо ли удалять ВСЕ слушатели объекта, чтобы он удалился из памяти?

или только те, которые еще могут каким-нибудь образом вызваться (например, Event.ENTER_FRAME)?

К примеру, события мышки при удалении кнопки надо ли удалять?
Или события Event.OPEN или EVEN.CANCEL с FileReference?

Старый 01.11.2008, 19:15
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Если события объекта слушаются не им же, то нужно отписываться.

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

Регистрация: Jun 2007
Сообщений: 374
И даже, если переменная является внутренней переменной функции?
Код:
		public function loadItem(url:String):void {
			var ldr:UILoader = new UILoader();
			ldr.source = url;
			ldr.addEventListener(Event.COMPLETE, itemLoadingCompleteHandler);
		}

Старый 02.11.2008, 14:03
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
И даже в таком случае тоже стоит отписываться. Иначе связанные объекты, не имеющие внешних ссылок могут остаться в памяти.

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

блогер
Регистрация: Jul 2007
Адрес: Russia
Сообщений: 292
Записей в блоге: 5
Если не охота отписываться, используй weakReference = true;
__________________
Оптимизация производительности на уровне кода

Старый 06.11.2008, 00:24
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 6  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
_Smirnoff, это во первых не панацея и очень часто может не сработать, а во вторых способствует развитию лени у разработчиков, которые после того, как сделали свои дела, убирать за собой не собираются.

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

блогер
Регистрация: Jul 2007
Адрес: Russia
Сообщений: 292
Записей в блоге: 5
Полностью согласен, обязательно нужно отписываться.Только если в проекте учавствует несколько человек + около тысячи вешаний на события.Ты бывает и так, что кто-то забывает...Даешь removeEventListener. А когда еще вешаются на все три стадии event flow, то точно, не опытные забудут отписаться два раза...
__________________
Оптимизация производительности на уровне кода

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

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

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


 


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


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