我的cocos2d应用程序每秒都会增加实际的内存使用情况是否正常?

我为iPad开发了cocos2d iOS应用程序。 当我testing内存泄漏和对象分配我的实时字节是稳定的, 但是当我运行活动监视器,我看到我的应用程序的实际内存使用增加每秒0.02MB。

我想问问这是否正常,有人有类似的问题?

这是完全合理的,因为Cocos2d(至less0.9.x和1.0分支)倾向于自动释放所有东西。 这可能会导致内存build立在一个循环中在屏幕上产生大量精灵的情况。 如果你确实是在自动释放而不是泄漏,那么在循环中添加一个自动释放池可能是一个快速的修复。 也就是说,你可能真的在泄漏。

为了debugging内存泄漏,我会先从泄漏工具开始,也许还有Allocations工具。 在Xcode中,点击Command + IProduct -> Profile

Xcode生成菜单

一旦打开了剖析器,就会看到一个菜单,其中包含一些debugging工具:

乐器选择菜单

一旦你select泄漏,你会看到这个方便的窗口与各种有用的信息:

在这里输入图像说明

在上面,你会看到内存分配和泄漏的graphics。 在底部,您可以看到各种有用的信息,例如分配了什么对象,使用了多less内存以及更多。

对于Xcode仪器debugging的完整处理,请查看这个方便的Apple Developervideo(需要login) 。

一年后,我有这个确切的问题。 原来,我有僵尸启用,这是我每秒增加内存的责任。

我记得我有这个问题,因为我loggingdebugging消息!

我在循环周期(每一帧)logging这个消息,这就是内存增加的原因!

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