看板 Flash 關於我們 聯絡資訊
Flash 在每個物件加入場景的時候要使用 addchild 這指令 每個物件又可以擁有好幾個監聽事件 addEventListener(Event, fun) 移除事件的時候要使用 removeEventListerer(Event, fun); 一直以來對於這點有些疑惑 當我把物件 removeChild 系統應該要自動釋放記憶體 (在沒有其他監聽的狀況下) 如果還有監聽系統就無法自動釋放記憶體 到以上的概念不知道是否有誤!!!!! 重點就在.... 解除監聽的時候一定要知道是什麼事件 還有 fun.... 有沒有甚麼辦法在不知道的情況下解除監聽阿??? 還有一個小小問題是... 如果是 fun (e:MouseEvent) { } 有沒有辦法用指令強制觸發這個 function ? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.43.116.184
etrexetrex:fun(new MouseEvent("")); 這樣應該就觸發了 07/18 18:54
cjcat2266:局訂什麼時候解除listener是程式設計師自己的責任 07/18 21:19
cjcat2266:想偷懶就設addEventListener的weakReference參數為false 07/18 21:20
STARGAZERs:恩... 感謝 CJ 大指導!! 07/19 11:50
STARGAZERs:不過我剛剛查了一下 adobe !! 07/19 11:50
STARGAZERs:useWeakReference:Boolean (default = false) 07/19 11:51
STARGAZERs:所以是原場寫錯還是我該設定成為 true ?? 07/19 11:51
STARGAZERs:我也很想自己解除... 可是這樣有點難搞... 07/19 11:51
STARGAZERs:幾乎是每種分頁都要特定寫一次 觸發移除很亂說 ><" 07/19 11:52
STARGAZERs:E 大 請問這樣子我有辦法指定 target 嗎? 07/19 12:13
STARGAZERs:還是說我該創造一個 MouseEvent .... 07/19 12:15
etrexetrex:或許可以先弄一個 MouseEvent 把 target 都設好再丟? 07/19 14:59
STARGAZERs:聽起來是個好主意 我等等測看看... 07/19 17:33
STARGAZERs:感謝 E 大 還有 CJ大 ~ 07/19 17:33
cjcat2266:打錯,要設成true才對... 07/19 17:36
ben0209:在 removedFromStage 時,remove 所有 event listener 07/20 09:57
STARGAZERs:意思是利用 remove Event 即使沒有 也不會出錯來做? 07/20 17:15