1

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

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

在将子 SWF/mp4 影片剪辑从舞台上移除后,我尝试将其设置为 NULL(如各种在线资源所建议的那样),但这似乎不起作用。

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

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

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

还有其他方法可以对抗这种类型的内存泄漏吗?

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

4

0 回答 0