作者yhn0tgb60 (呦厚厚)
看板Flash
标题[问题] 关於移除物件的问题
时间Sat Apr 10 02:45:04 2010
就是阿
当我宣告了一个 class 里面 new 了很多物件
那当我在不使用这个物件时 需要将这些 new 的物件设为 null 吗???
因为以前是写 C++ new 的东西都一定要 delete 才行
虽然听说 as3 有自动资源回收的机制... 不过不是非常了解...
另外 as3的 delete 是用在什麽情况阿 好像很少看到人用
好像大多都是用 null....
还有当我在 一个 MovieClip 里面加了许多的 addChild 和 addEventListener
当我 null 这个 MovieClip 时
需要把里面的东西都 removeChild 和 removeEventListener 吗 ???
还是 null 後就会自动释放资源 ???
甚至当我载入一个 swf 档时 在 unload 前
需要先 removeChild 和 removeEventListener 吗 ???
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.116.155.241
1F:推 emily114005:当一个object已经没办法用变数去存取他(= null)时 04/10 03:52
2F:→ emily114005:AS3会自动将此object加到garbage collection里 04/10 03:53
3F:→ emily114005:然後在系统需要释放资源时,AS3才会把该object的资源 04/10 03:55
4F:→ emily114005:释放出来 04/10 03:55
5F:→ emily114005:removeChild是用在移除显示物件 需要移除再移除罗 04/10 03:56
6F:→ emily114005:而EventListener最好是在没用到的时候就remove掉 04/10 03:57
7F:→ emily114005:才不会造成资源浪费 :) 04/10 03:58
8F:推 cjcat2266:只有记忆体不足的时候才会去清除无法存取的物件(孤儿) 04/10 10:39
9F:→ cjcat2266:当记忆体足够的时候,孤儿是不一定会被清掉的 04/10 10:39
10F:→ Lawnchern:所以 delete是....什麽时候会用呢@@?我也想知道 04/10 11:09
11F:推 terrylchen:我记得之前看的说明好像是说delete没办法删除区域变数 04/10 19:24
12F:→ terrylchen:不知道正不正确... 04/10 19:25