我开发适用于iPad的cocos2d iOS应用。 当我测试内存泄漏和对象分配时,我的Live Bytes是稳定的, 但是当我运行Activity Monitor时,我发现我的应用程序的真实内存使用量每秒增加0.02MB。
我想问一下是否正常并且有人有类似问题吗?
答案 0 :(得分:1)
这完全合理,因为Cocos2d(至少0.9.x和1.0分支)倾向于自动释放所有内容。这可能导致内存在你在循环中在屏幕上产生大量精灵的情况下积累。如果你确实是自动释放而不是泄漏,那么在循环中添加自动释放池可能是一个快速解决方法。那就是说,你可能真的在泄漏。
为了调试内存泄漏,我先从Leaks Instrument开始,也可能从Allocations仪器开始。在Xcode中,点击 Command + I ,或Product -> Profile
一旦你打开了探查器,你会看到一个包含大量调试工具的菜单:
选择泄漏后,您会看到这个方便的窗口,其中包含各种有用的信息:
最重要的是,您将看到内存分配和泄漏作为图表。在底部,您可以看到各种有用的信息,例如分配了哪些对象,正在使用多少内存,以及更多内容。
要使用仪器对Xcode调试进行全面处理,请查看this handy Apple Developer video (login required)。
答案 1 :(得分:1)
一年后,我有了这个确切的问题。事实证明,我已经启用了僵尸,这是我每秒钟增加内存的原因。
答案 2 :(得分:0)
我记得我有这个问题,因为我记录了调试信息!
我在循环周期(每帧)中记录此消息,这就是内存增加的原因!
请清除或评论所有日志消息,这将解决您的问题:)