我为 iPad 开发 cocos2d iOS 应用程序。 当我测试内存泄漏和对象分配时,我的 Live Bytes 是稳定的, 但是当我运行 Activity Monitor 时,我发现我的应用程序的实际内存使用量每秒增加 0.02MB。
请问是否正常,有没有人遇到过类似的问题?
最佳答案
这完全有道理,因为 Cocos2d(至少 0.9.x 和 1.0 分支)倾向于自动释放所有内容。当您在屏幕上循环生成大量 sprite 时,这可能会导致内存堆积。如果你确实是自动释放而不是泄漏,那么添加一个自动释放池和你的循环可能是一个快速修复。也就是说,您实际上可能在泄漏。
要调试内存泄漏,我会从 Leaks Instrument 开始,也许还有 Allocations instrument。在 Xcode 中,点击 Command + I,或 Product -> Profile
打开分析器后,您会看到一个菜单,其中包含一堆调试工具:
选择泄漏后,您会看到这个方便的窗口,其中包含各种有用的信息:
在顶部,您将以图表形式看到内存分配和泄漏。在底部,您可以看到各种有用的信息,例如分配了哪些对象、使用了多少内存等等。
有关使用仪器进行 Xcode 调试的完整处理,请查看 this handy Apple Developer video (login required) .
关于ios - 我的 cocos2d 应用程序每秒增加实际内存使用量是否正常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13231570/