|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Корректное удаления экземпляра из памяти
Привет всем.
Простая ситуация: есть объект, в конструкторе создается кнопка, подписывается на MouseEvent.CLICK. Потом экземпляр этого объекта удаляется (removeChild) с родителя. Нужно ли отписать кнопку от MouseEvent.CLICK для корректного удаления из памяти? Спасибо. Последний раз редактировалось enepx; 13.12.2011 в 14:09. |
|
|||||
Да нужно.
__________________
http://www.chessmax.ru |
|
|||||
Знатоки говорят точно надо, сам стараюсь так и делать всегда, но может именно тут зря?
Удаление подписки за "внешние" объекты на обсуждается, вопрос именно о внутренних объектах класса. Спасибо. |
|
|||||
Наличие слушателя равносильно наличию ссылки на объект. Удалив слушатель самостоятельно Вы упрощаете работу сборщику мусора (GC), таким образом увеличивая производительность всего приложения. Так что стоит взять за правило отписываться от всех событий и занулять все ссылки, если объект больше не нужен. И неважно - внутри самого объекта, или снаружи.
__________________
...вселенская грусть |
|
|||||
Цитата:
Цитата:
Добавлено через 31 секунду Опоздал
__________________
http://www.chessmax.ru |
|
|||||
Регистрация: Oct 2011
Адрес: Питер
Сообщений: 58
|
В некоторых случаях можно использовать weakReference=true:
При сборке мусора такой листенер не будет являться ссылкой на объект. |
|
|||||
Это я все знаю и использую. Вопрос в целесообразности удаления подписки на объект, который является ребенком и "убивается" автоматически при "убийстве" родителя.
|
|
|||||
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
Он не убивается, если на него есть ссылки. Это покажет любой профайлер.
|
|
|||||
[+4 06.05.14]
|
Слушатель клика не грузит память - это вам не интерфрейм или таймер, и даже не кастомЭвент, который может произойти от чего угодно ( по вашей реализации ) - соотв слушатель клика, овера и т.д. после ремува сносить не обязательно совершенно, но желательно в рамках красивой организации кода, и только
__________________
Марк Tween |
|
|||||
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
Цитата:
__________________
Загружаем картинки, минуя ошибки безопасности |
Часовой пояс GMT +4, время: 15:51. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|