如何修复内存泄漏?

时间:2013-01-28 10:16:02

标签: android actionscript-3 flash air

我正试图找到一种方法来修复AIR for Android应用程序中的内存泄漏。

问题似乎源于这样一个事实:我正在将外部的,本地存储的SWF和mp4文件加载到我的舞台中并一个接一个地播放它们。应用程序似乎没有从内存中删除文件,并且每次播放时都会从本地目录中读取文件,应用程序会不断将它们推入内存并填满。

我已经尝试将子SWF / mp4 movieclip从舞台上移除后设置为NULL(如各种在线资源所示),但这似乎不起作用。

然后我尝试在播放剪辑之前使用System.gc();(因此,播放剪辑A,剪辑A完成,运行垃圾收集,剪辑B播放)但是再次,它似乎没有做任何事情

所以,我试图想办法阻止这种内存泄漏。

我的想法是将每个动画片段添加到数组中,然后循环播放。我认为这可能有效,因为如果剪辑存储在一个数组中,我不会从本地目录中重新读取它们,因此不应该重新添加到内存中。这是一个安全的假设吗?

还有其他方法来对抗此类内存泄漏吗?

最后,这个内存泄漏是否有可能导致我的应用程序在大约一个小时后关闭自己,当时在Android设备上进行压力测试? (没有弹出错误消息,应用程序只是关闭,没有警告)

0 个答案:

没有答案