我的cocos2d应用每秒增加实际内存使用量是否正常?

时间:2012-11-05 11:52:22

标签: ios xcode memory-management memory-leaks cocos2d-iphone

我开发适用于iPad的cocos2d iOS应用。 当我测试内存泄漏和对象分配时,我的Live Bytes是稳定的, 但是当我运行Activity Monitor时,我发现我的应用程序的真实内存使用量每秒增加0.02MB。

我想问一下是否正常并且有人有类似问题吗?

3 个答案:

答案 0 :(得分:1)

这完全合理,因为Cocos2d(至少0.9.x和1.0分支)倾向于自动释放所有内容。这可能导致内存在你在循环中在屏幕上产生大量精灵的情况下积累。如果你确实是自动释放而不是泄漏,那么在循环中添加自动释放池可能是一个快速解决方法。那就是说,你可能真的在泄漏。

为了调试内存泄漏,我先从Leaks Instrument开始,也可能从Allocations仪器开始。在Xcode中,点击 Command + I ,或Product -> Profile

Xcode build menu

一旦你打开了探查器,你会看到一个包含大量调试工具的菜单:

Instruments selection menu

选择泄漏后,您会看到这个方便的窗口,其中包含各种有用的信息:

enter image description here

最重要的是,您将看到内存分配和泄漏作为图表。在底部,您可以看到各种有用的信息,例如分配了哪些对象,正在使用多少内存,以及更多内容。

要使用仪器对Xcode调试进行全面处理,请查看this handy Apple Developer video (login required)

答案 1 :(得分:1)

一年后,我有了这个确切的问题。事实证明,我已经启用了僵尸,这是我每秒钟增加内存的原因。

答案 2 :(得分:0)

我记得我有这个问题,因为我记录了调试信息!

我在循环周期(每帧)中记录此消息,这就是内存增加的原因!

请清除或评论所有日志消息,这将解决您的问题:)