【发布时间】:2016-03-17 08:33:08
【问题描述】:
我在静态菜单场景中遇到内存泄漏,似乎它发生在每个场景、游戏场景本身以及静态菜单/游戏结束上。内存似乎被正确释放(场景消失后内存减少)。
那些静态场景甚至不包含 update 回调定义。 这一切都在 didMoveToView 中设置,其中有一对 SKLabelNodes 和 SKSpriteNode 分配有 spriteNodeWithImage。
我曾尝试使用 dealloc 来监控场景是否被正确释放,而且它似乎不是问题的根源。
浏览 google 指向我在 stackoverflow 上创建的其他一些线程 spriteNodeWithImage textureWithImage 可能会导致 - 内存泄漏 -奇怪的错误“CUICatalog:无效请求:请求子类型而不指定成语”
所以我尝试创建 UIImage imageNamed 然后放入纹理并在 SKTexture 中使用,实际上它已经删除了 CUICatalog 错误(无论如何,这似乎是一条没有被删除的愚蠢消息苹果 - 任何人都可以确认吗?) 但是根据内存泄漏,这根本没有帮助,无论如何,那个场景中的任何东西都是从一开始就创建的,所以我不知道为什么这个内存会以每秒 0.5mb 的速度不断增长。
期待任何提示。
最好的问候
【问题讨论】:
-
您可能正在被您正在使用的玩具所迷惑。尝试乐器。还要确保您没有启用僵尸检测。
-
如果你指的是这个记忆图,为什么你的意思是“你正在使用的玩具”。实际上存在内存泄漏,在运行应用程序一段时间后收到内存警告,然后在一段时间后应用程序崩溃。 NSZombie 被禁用。
标签: ios objective-c cocos2d-iphone sprite-kit cocos2d-x