Actionscript 3 Actionscript内存管理?

Actionscript 3 Actionscript内存管理?,actionscript-3,memory-management,garbage-collection,Actionscript 3,Memory Management,Garbage Collection,我今天在互联网上的某个地方看到了System.gc(),我想知道它是否被推荐用于Flash CS5项目,以及为什么。在我所知道的每个垃圾收集系统中,垃圾收集机制被设计为在后台运行,作为程序员理论上不应该关注的抽象。在某些特殊情况下,强制收集是有用的,但这些通常涉及中断(真实的机器中断,而不是actionscript事件)、测试/调试场景或一些棘手的延迟管理需求。很可能您永远不需要调用System.gc(),您可以安全地忽略它。System.gc()仅在Flash Player的调试器版本和一些A

我今天在互联网上的某个地方看到了
System.gc()
,我想知道它是否被推荐用于Flash CS5项目,以及为什么。

在我所知道的每个垃圾收集系统中,垃圾收集机制被设计为在后台运行,作为程序员理论上不应该关注的抽象。在某些特殊情况下,强制收集是有用的,但这些通常涉及中断(真实的机器中断,而不是actionscript事件)、测试/调试场景或一些棘手的延迟管理需求。很可能您永远不需要调用System.gc(),您可以安全地忽略它。

System.gc()仅在Flash Player的调试器版本和一些AIR应用程序中可用。在一个普通的网站上调用它,在一个普通的Flash播放器下,将不会有任何效果,并且会默默地失败

System.gc()仅用于测试目的。

System.gc()仅用于测试目的。监视应用程序正在使用的内存使用情况并调用System.gc()以突出显示内存泄漏的可能性非常方便

提示:据我所知,您必须调用System.gc()两次,才能强制它立即收集

文档说明此方法仅适用于调试播放器


总之,如果你在测试内存,它非常方便,否则不要使用它。

你应该搜索关于Flex的类似问题,而不是actionscript。我相信你会找到关于这个问题的现有答案(Flash中的GC)。另外,顺便说一句,在发布版本上强制GC是不可能的,它是全自动的,你所能做的就是删除所有不需要的侦听器和这类东西。