![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Jun 2007
Сообщений: 374
|
Вопрос такой: надо ли удалять ВСЕ слушатели объекта, чтобы он удалился из памяти?
или только те, которые еще могут каким-нибудь образом вызваться (например, Event.ENTER_FRAME)? К примеру, события мышки при удалении кнопки надо ли удалять? Или события Event.OPEN или EVEN.CANCEL с FileReference? |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Если события объекта слушаются не им же, то нужно отписываться.
|
|
|||||
|
Регистрация: Jun 2007
Сообщений: 374
|
И даже, если переменная является внутренней переменной функции?
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
И даже в таком случае тоже стоит отписываться. Иначе связанные объекты, не имеющие внешних ссылок могут остаться в памяти.
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
_Smirnoff, это во первых не панацея и очень часто может не сработать, а во вторых способствует развитию лени у разработчиков, которые после того, как сделали свои дела, убирать за собой не собираются.
|
|
|||||
|
Полностью согласен, обязательно нужно отписываться.Только если в проекте учавствует несколько человек + около тысячи вешаний на события.Ты бывает и так, что кто-то забывает...Даешь removeEventListener. А когда еще вешаются на все три стадии event flow, то точно, не опытные забудут отписаться два раза...
__________________
Оптимизация производительности на уровне кода |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:07. |
|
|
« Предыдущая тема | Следующая тема » |
|
|