2011-05-30 89 views
1

我在庫中有一個movieclip,裏面有一個按鈕。假設我已經添加了一個eventListener到嵌套按鈕後添加movieclip到舞臺。當我使用removeChild刪除元素時,這個偵聽器會自動刪除嗎?即使在調用removeChild之後,是否有必要使用removeEventListener?AS3中的事件處理

回答

2

如果使用弱引用添加事件偵聽器(我相信addEventListener的最後一個參數),它應該被清除。不過要小心,因爲這可能會在你想要之前清理事件監聽器,例如當超出監聽器聲明的範圍時。

如果它不是一個弱引用,你需要自己清除事件監聽器,否則這意味着有一個對你的元素的引用,你將有一個內存泄漏。

+0

一個很好的解釋那麼,你是說,最好的辦法是不使用弱引用選項和清潔我們自己。 – 2011-05-30 16:08:53

+0

確實。 1使用周參考或2.刪除事件監聽器;) – 2011-05-30 16:11:37

+1

@Bobby,是;最好的辦法是始終清理自己,因爲你基本上不知道GC何時運行。 – 2011-05-30 16:17:01