垃圾收集如何在AS3中运行?

时间:2011-11-06 09:07:13

标签: flash actionscript-3 actionscript garbage-collection

我知道没有被任何东西引用的对象都是垃圾收集的,并且当我完成它们时,一直确保将对象引用为null。我想知道的是一些事情:

  1. 只有对象需要空引用吗? Number,int,String等 可以离开,对吗?这是最好的做法吗?

  2. 垃圾收集通常会多久运行一次?它是否倾向于运行 当处理器需求低时?

  3. 有没有办法告诉垃圾收集手动运行,等等 当我完成一个充满精灵的运动场时?这不是 如果处理器使用时垃圾收集往往会运行,真的需要 很低,因为它会在我喜欢的时候运行。

  4. 仅为if或for语句等的范围创建的对象,除非它们是 分配了一个参考elseware,有资格进行垃圾收集,对吗?

1 个答案:

答案 0 :(得分:5)

gskinner对Flash播放器中的GC有一个很好的article

  1. 只有new运算符创建的对象应为空引用,花括号运算符({x:5,y:5})和方括号运算符([1,2,3])应为空引用
  2. 垃圾收集器使用一组查看RAM的启发式方法 除了别的以外,分配和内存堆栈的大小 确定何时运行。
  3. 你可以使用System.gc()在FP10中手动运行它,但它只能工作 在调试播放器中。
  4. 是的,没错。