作者STARGAZERs (星之影)
看板Flash
标题[问题] 关於事件移除
时间Sun Jul 18 18:27:47 2010
Flash 在每个物件加入场景的时候要使用 addchild 这指令
每个物件又可以拥有好几个监听事件 addEventListener(Event, fun)
移除事件的时候要使用 removeEventListerer(Event, fun);
一直以来对於这点有些疑惑
当我把物件 removeChild 系统应该要自动释放记忆体
(在没有其他监听的状况下)
如果还有监听系统就无法自动释放记忆体
到以上的概念不知道是否有误!!!!!
重点就在....
解除监听的时候一定要知道是什麽事件 还有 fun....
有没有甚麽办法在不知道的情况下解除监听阿???
还有一个小小问题是...
如果是 fun (e:MouseEvent) { }
有没有办法用指令强制触发这个 function ?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.43.116.184
1F:推 etrexetrex:fun(new MouseEvent("")); 这样应该就触发了 07/18 18:54
2F:推 cjcat2266:局订什麽时候解除listener是程式设计师自己的责任 07/18 21:19
3F:→ cjcat2266:想偷懒就设addEventListener的weakReference参数为false 07/18 21:20
4F:→ STARGAZERs:恩... 感谢 CJ 大指导!! 07/19 11:50
5F:→ STARGAZERs:不过我刚刚查了一下 adobe !! 07/19 11:50
6F:→ STARGAZERs:useWeakReference:Boolean (default = false) 07/19 11:51
7F:→ STARGAZERs:所以是原场写错还是我该设定成为 true ?? 07/19 11:51
8F:→ STARGAZERs:我也很想自己解除... 可是这样有点难搞... 07/19 11:51
9F:→ STARGAZERs:几乎是每种分页都要特定写一次 触发移除很乱说 ><" 07/19 11:52
10F:→ STARGAZERs:E 大 请问这样子我有办法指定 target 吗? 07/19 12:13
11F:→ STARGAZERs:还是说我该创造一个 MouseEvent .... 07/19 12:15
12F:推 etrexetrex:或许可以先弄一个 MouseEvent 把 target 都设好再丢? 07/19 14:59
13F:→ STARGAZERs:听起来是个好主意 我等等测看看... 07/19 17:33
14F:→ STARGAZERs:感谢 E 大 还有 CJ大 ~ 07/19 17:33
15F:推 cjcat2266:打错,要设成true才对... 07/19 17:36
16F:→ ben0209:在 removedFromStage 时,remove 所有 event listener 07/20 09:57
17F:→ STARGAZERs:意思是利用 remove Event 即使没有 也不会出错来做? 07/20 17:15