【发布时间】:2011-08-23 15:55:30
【问题描述】:
开发了一个触摸屏独立应用程序。互动目前每天运行 10 - 13 小时。如果用户与交互式交互,则内存级别正在增加。交互有五个屏幕,在通过每个屏幕时我已经删除了影片剪辑、资产、侦听器,并将对象设置为空。然而内存水平不断增加。
我还使用了第三方工具“gskinner”来解决这个问题,即使存在一些内存泄漏,它也可以改善结果。
请帮助我,提前谢谢。
【问题讨论】:
开发了一个触摸屏独立应用程序。互动目前每天运行 10 - 13 小时。如果用户与交互式交互,则内存级别正在增加。交互有五个屏幕,在通过每个屏幕时我已经删除了影片剪辑、资产、侦听器,并将对象设置为空。然而内存水平不断增加。
我还使用了第三方工具“gskinner”来解决这个问题,即使存在一些内存泄漏,它也可以改善结果。
请帮助我,提前谢谢。
【问题讨论】:
最好的结果来自于编写代码时元素在移除时被正确地收集为垃圾的方式。这意味着移除其中不再使用的所有对象、侦听器和 MovieClip/Sprite。
当我试图快速完成这些工作时,我一直在使用 casalib 的 CasaMovieClip 和 CasaSprite,而不是常规的 MovieClips 和 Sprite。原因是它们具有 destroy() 函数以及其他一些帮助您轻松收集垃圾的函数。
但我能给出的最好建议是阅读垃圾收集。 Grant Skinner's blog 是一个很好的起点。
【讨论】:
另外,检查 setTimeout() 和字典,因为如果使用不当也会导致泄漏。
【讨论】: