静态菜单场景中的 SpriteKit 内存泄漏
SpriteKit Memory Leak on static Menu scene
我在静态菜单场景中遇到内存泄漏,似乎它发生在每个场景中,游戏场景本身也是静态的 menu/gameover。内存似乎已正确释放(场景消失后内存减少)。
那些静态场景甚至没有定义 update 回调。
全部设置在 didMoveToView 中,里面有几个 SKLabelNodes 和 SKSpriteNode 分配了 spriteNodeWithImage.
我尝试使用 dealloc 来监控场景是否被正确释放,看起来是这样,这似乎不是问题的根源。
浏览 google 向我指出了在 Whosebug 上创建的其他一些线程
spriteNodeWithImage
textureWithImage
可能会导致
-内存泄漏
-奇怪的错误"CUICatalog: Invalid Request: requesting subtype without specifying idiom"
所以我尝试创建 UIImage imageNamed 然后放入纹理并在 SKTexture 中使用,实际上它已经删除了 CUICatalog 错误(无论如何,这似乎是一个愚蠢的消息没有被苹果删除 - 谁能证实这一点?)
但是根据内存泄漏,这根本没有帮助,无论如何,那个场景中的任何东西都是在开始时创建一次,所以我不知道为什么这个内存不断增长,并且每秒增长 0.5mb。
期待任何提示。
此致
其实我已经找到问题的根源了。
似乎调试物理会造成巨大的内存泄漏
skView.showsPhysics = YES;
这不是什么大问题,因为它仅在 showsPhysics=YES 时在调试时发生。
不过还是很高兴知道。
我在静态菜单场景中遇到内存泄漏,似乎它发生在每个场景中,游戏场景本身也是静态的 menu/gameover。内存似乎已正确释放(场景消失后内存减少)。
那些静态场景甚至没有定义 update 回调。 全部设置在 didMoveToView 中,里面有几个 SKLabelNodes 和 SKSpriteNode 分配了 spriteNodeWithImage.
我尝试使用 dealloc 来监控场景是否被正确释放,看起来是这样,这似乎不是问题的根源。
浏览 google 向我指出了在 Whosebug 上创建的其他一些线程 spriteNodeWithImage textureWithImage 可能会导致 -内存泄漏 -奇怪的错误"CUICatalog: Invalid Request: requesting subtype without specifying idiom"
所以我尝试创建 UIImage imageNamed 然后放入纹理并在 SKTexture 中使用,实际上它已经删除了 CUICatalog 错误(无论如何,这似乎是一个愚蠢的消息没有被苹果删除 - 谁能证实这一点?) 但是根据内存泄漏,这根本没有帮助,无论如何,那个场景中的任何东西都是在开始时创建一次,所以我不知道为什么这个内存不断增长,并且每秒增长 0.5mb。
期待任何提示。
此致
其实我已经找到问题的根源了。 似乎调试物理会造成巨大的内存泄漏
skView.showsPhysics = YES;
这不是什么大问题,因为它仅在 showsPhysics=YES 时在调试时发生。
不过还是很高兴知道。