ActionScript清理

时间:2010-05-29 21:07:32

标签: actionscript-3

我想从内存中释放spriteClass并将其从显示列表中删除。

当实例化spriteClass时,它会使用新的补间和补间事件创建一些自己的精灵,并将它们添加为子级。我知道必须删除补间事件,以便spritClass可用于垃圾收集,并且之后我应该删除和取消spriteClass,但是我也应该取消并删除spriteClass的精灵子项和补间,或者没关系?

基本上我想知道是否通过写作

spriteClass.deallocate(); //removes it's tween event listeners;
removeChild(spriteClass);
spriteClass = null; 

它会自动删除所有已添加的子节点和新的实例,如补间,精灵,rects,等等,或者我是否负责从spriteClass.deallocate()函数中删除它们以及事件侦听器?

1 个答案:

答案 0 :(得分:0)

据我所知,任何子精灵都不应该被置为触发垃圾收集,只要没有其他地方的引用。

但是,您需要删除子节点上的任何侦听器,假设它们没有被弱引用(addEventListener的可选参数)。

另外,作为参考,您可以自行检查垃圾收集器是否使用Flash Builder Premium分析器(http://help.adobe.com/en_US/flashbuilder/using/WS6f97d7caa66ef6eb1e63e3d11b6c4d0d21-7e46.html

完成其工作

P.S。即使是纯粹的AS3或Flash项目,也可以使用Flash Builder IDE。