我是否有内存泄漏/垃圾收集错误?

时间:2013-09-08 10:04:15

标签: actionscript-3 air

我正在构建一个Air应用程序,由于动画师的工作流程,需要加载大量外部swf文件。

我在启动过程中通过FileStream / Loader对象加载它们,然后将它们存储在一个对象中以供进一步使用。

它们加载的瞬间,我使用gotoAndStop(1)命令使它们停止循环(原始文件没有任何脚本)。

在加载过程之后,我可以看到系统内存缓慢但始终如一。 当我使用System.gc()命令手动调用垃圾收集时, 内存再次被清除。

如果我让应用程序运行几个小时,似乎垃圾收集器不会运行。

任何想法可能是什么问题?或者我应该忘记它并偶尔偶尔运行System.gc()

非常感谢!

1 个答案:

答案 0 :(得分:2)

垃圾收集器只会在需要时运行,因此很可能会在运行之前耗费很长时间(特别是如果你有大量的RAM可用)。

重要的是内存在运行时被清除。这告诉我你没有泄漏,因为它可以被清除。

另外,您如何测量系统内存?如果您通过任务管理器进行操作,那么这些数字并不是真正依赖的。

我建议Process Explorer。改为监控“私人字节”列。