AS3 Укажите, есть ли невидимые объекты displayObject с активными слушателями - PullRequest
0 голосов
/ 17 сентября 2010

Есть ли способ подсчитать (указать) среднее количество объектов, которые удалены со сцены и имеют активных слушателей?
У меня действительно большой проект (игра), более 100 классов. Теперь я сканирую каждый класс, если есть активные ненужные слушатели, я удаляю их.

Теперь я хочу такой инструмент, который будетскажите мне, где есть другие ненужные слушатели, или, по крайней мере, скажите, если все в порядке.

Это как глупый вопрос, может быть, вы можете предложить мне любой инструмент для управления слушателями.

Спасибо

Ответы [ 2 ]

0 голосов
/ 17 сентября 2010

Во-первых, попробуйте использовать слабый приемник событий, чтобы они удалялись, когда для любого объекта DisplayObject установлено значение Null. Во-вторых, вы должны создать эту функциональность самостоятельно. Например, чтобы выяснить, какие невидимые объекты имеют событие Mouse CLICK, прикрепленное в MainContainer DisplayObject. Вы можете использовать следующий код

Для (var j: int = 0; j

var Obj = MainContainer.getChildAt (j);
if (! Obj.visible && Obj.hasEventListener (MouseEvent.CLICK)) { // сделай что-нибудь }

}

0 голосов
/ 17 сентября 2010

Нет упакованного инструмента для этого, но вы можете создать некую утилиту отображения, которая бы отслеживала ваши прослушиватели событий. Эта утилита предоставит API, чтобы позволить вам добавить прослушиватель к определенному объекту и предоставить обратный вызов / обработчик. Затем он будет иметь карту / список всех объектов и их обратных вызовов. он может обеспечить эту функциональность с помощью статических методов или путем внедрения зависимостей.

Профилировщик Flash Builder - это отличный инструмент для отслеживания утечек памяти, хотя он и не обеспечивает требуемые функции.

...