Удаление прослушивателей событий перед закрытием модуля - PullRequest
0 голосов
/ 18 августа 2011

Я добавляю экземпляр этого модуля в список рассылки, а затем удаляю его. Будет ли прослушиватель событий, прикрепленный к foo, создавать утечку? Упрощенный модуль:

<s:Module creationComplete="init()">
    <fx:Script>
        protected var foo:Bar = new Bar();
        protected function init() {
          foo.addEventListener(MouseEvent.CLICK, foo_clickHandler);
        }

        protected function foo_clickHandler(event:MouseEvent):void {
            //do something
        }
    </fx:Script>
</s:Module>

Ответы [ 2 ]

1 голос
/ 19 августа 2011

Этот модуль не имеет утечек памяти , поскольку вы добавляете слушателя к локальному объекту, а не к Stage, StyleManager или другим глобально доступным вещам.

0 голосов
/ 18 августа 2011

Будет.Вы должны удалить слушателя или использовать слабые ссылки при создании слушателя.

foo.addEventListener(MouseEvent.CLICK, foo_clickHandler, false, 0, true);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...