我将此模块的一个实例添加到显示列表中,然后将其删除。 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>
我发现这个[presentation](http://blogs.adobe.com/aharui/GarbageCollection/GCAtomic.ppt)非常有帮助。看起来内存泄漏是由于将侦听器添加到对象树顶部的“特殊”对象引起的,这些对象树始终会被引用,并且永远不会被垃圾收集。 – hidarikani