我正在构build一个针对新的iOS 7和Sprite Kit的iOS游戏,使用发射器节点和物理来增强游戏性。 在开发应用程序的时候,我遇到了一个严重的问题:创build你的场景,节点,效果,但是当你完成并且需要返回到主屏幕时,你如何释放这些资源分配的所有内存? 理想情况下,ARC应该释放一切,应用程序应该回到创build场景之前的内存消耗级别,但这不是发生的情况。 我添加了下面的代码,作为视图的dealloc方法,它绘制场景并负责在closures(删除)时删除所有内容: – (void) dealloc { if (scene != nil) { [scene setPaused:YES]; [scene removeAllActions]; [scene removeAllChildren]; scene = nil; [((SKView *)sceneView) presentScene:nil]; sceneView = nil; } } sceneView是一个UIView,它是场景的容器 场景是SKScene类的扩展,创build所有SKSpriteNode对象 我非常感谢在这个问题上的任何帮助。