我將此模塊的一個實例添加到顯示列表中,然後將其刪除。 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