如何as3内存管理

时间:2011-11-12 12:05:47

标签: actionscript-3 memory

首先定义了一个类:

class C1 extends Sprite
{
      public function C1() { super(); }
}

然后在文档类中编写以下代码:

setInterval(function(a:Sprite):void {
    a.addChild(new C1());
}, 10, this);

setInterval(function(a:Sprite):void {
    a.removeChildAt(0);
}, 11, this);

然后运行它并检查内存ustage,它将变得越来越大......

从root删除子进程时如何释放内存?

1 个答案:

答案 0 :(得分:2)

Flash VM使用garbage collection释放内存。除非您明确调用System.gc(),否则播放器将在任意时间执行GC,但此方法仅适用于AIR和调试器版本的Flash Player。因此,即使已经释放了程序中的资源,内存的使用仍可能继续增加,直到GC进程执行为止。

另请注意,addChild()removeChild()只是在显示列表中添加和删除项目。要真正释放资源,您必须将程序中保留的所有引用显式设置为null

相关问题