内存管理AS3

时间:2010-07-03 07:36:41

标签: actionscript-3

我的AS3应用程序基本上通过向舞台添加自定义对象来执行以下(主应用程序类的伪代码)3或4次:

_movieClipClassVariable = new MyCustomSpriteSubclass();     
_movieClipClassVariable.addEventListener(MyEvents.READY, function(event:Event):void {
            _hideLoading();
            mcHolder.addChild(_movieClipClassVariable);                               
        });                     

_movieClipClassVariable.addEventListener(MouseEvent.CLICK, myClickHandler); 


private function coverClickHandler(event:Event):void
{           
    ...
}

允许垃圾收集器在没有必要后回收_movieClipClassVariable的正确方法是什么?将null分配给它?删除所有听众?对听众使用弱引用?

提前致谢!

2 个答案:

答案 0 :(得分:1)

我会说以上所有。

我建议阅读Grant Skinners articles of Resource Management。另请查看他的slides from his Resource management talk

关于这个主题有很多信息,这两个链接是我找到的最好的资源。

答案 1 :(得分:0)

为了使用垃圾收集器,你应该考虑:

  1. 未在X.addEventListener()调用中定义处理程序方法
  2. 删除要从内存中释放的对象上的所有事件侦听器
  3. 使对象为null 4.(可选)您可以强制垃圾收集器调用system.gc();