This blog(及其他)指出,清理对象时,应在dispose()方法内将对象引用设置为null。
但是,ActionScript 3(与Flash Player 9一起使用)使用mark and sweep来为您清除循环引用。所以我想知道:是否真的有任何理由要取消对象引用?
最佳答案
我从不做-只要您做显而易见的事情:
然后,对象所使用的内存可随时用于覆盖。
var ar:Array = [];
var mc:MovieClip = new MovieClip();
mc.addEventListener(MouseEvent.CLICK, pants);
ar[ar.length] = mc;
addChild(mc);
if(mc.parent) mc.parent.removeChild(mc); // not garbage collected
mc.removeEventListener(MouseEvent.CLICK, pants); // still not garbage collected
ar.splice(0, 1); // finally garbage collected
关于flash - Actionscript内存管理,垃圾回收,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5877674/