iphone - cocos2d 使用内存块

标签 iphone ios memory cocos2d-iphone memory-leaks

我在使用 cocos2d 的游戏中遇到了内存不足的绝对最糟糕的情况。

我有 4 个场景。当我使用

切换场景时,两个从内存中消失了
[[CCDirector sharedDirector]replaceScene:sceneWithTransition]

我试过 push/pop,它使问题严重了 10 倍。

然而,其中 2 个场景就像病毒一样。我可以将它们从内存中删除的条件不存在。 我正在使用 ARC 改动。我希望他们能提供帮助,但他们没有。

我已经覆盖了清理方法以确保我摆脱了对场景中所有内容的引用。第一个是游戏场景,我可以想象我怎么可能错过了以某种方式坚持场景的东西。然而,另一个是设置场景。它有5个部分。他们都被扔了,但场景不会被清除。在转换为 ARC 之前,该应用程序无法使用,它经常崩溃,而当它没有崩溃时,它就会耗尽内存。在 ARC 之后,它的持续时间比以前长了大约 4 倍,但仍然经常耗尽内存。然而,崩溃几乎不存在。

我想首先,在场景之间切换的正确方法是什么? 其次,在使用 arch 时如何从内存中删除一些东西,因为 object = nil 什么都不做。我使用 ARC 的所有其他程序都像梦一样运行。他们都没有使用 cocos2d 引擎。自从引入 arc 以来,我从未见过内存错误,直到我错误地将我的 quartz2d 游戏转换为 cocos2d。我没有回到实际运行的平台的唯一原因是我真的很喜欢 cocos 中可能的效果,而我在 quartz 中根本无法实现。

最佳答案

cocos2d 好像有some issues with ARC that got fixed only recently .

我不知道这是否与你的内存问题有关,但你可能会检查你使用的是哪个cocos2d版本。

反正cocos2d好像要从2.0版本开始全面支持ARC。因此,您最好不要使用 ARC 并通过正确使用 release 来正确管理内存。据我所知,cocos2d没有内存问题,所以你应该可以完成。

关于iphone - cocos2d 使用内存块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8389969/

相关文章:

iphone - 我们可以在 iPhone 中实现与 iPad 中相同的分割 View 控制吗?

iOS ffmpeg 如何运行命令来修剪远程 url 视频?

delphi - 在 HostApp 和 DLL 之间预分配内存

php - 如何检测 PHP 中的 X-Accel-Redirect (Nginx)/X-Sendfile (Apache) 支持?

iphone - 如何检测 UINavigationController 工具栏背景上的触摸

iphone - 将 map View 缩放到放置图钉的区域

iphone - 单击时突出显示表格 View 单元格,而不是在释放时突出显示

ios - For-in 循环要求 '[UserVehicles]?' 符合 'Sequence' ;你的意思是解开可选的吗? swift

ios - ObjC 对象内存分析/解析 iOS 128kB 限制

iphone - 设备锁定时响应事件