我有一个应用程序,其中有一个 SpriteKit 游戏和一个主菜单。单击主页按钮后,CPU/内存不会减少。我已经尝试了一些东西,这里的代码可能是多余的,但它还没有为我工作。
每当触摸主页按钮时执行:
- (void)goToMainMenu {
[self performSegueWithIdentifier"mainmenu" sender:self];
[self.spriteView removeFromSuperview];
self.scene = nil;
[self.spriteView presentScene:nil];
self.spriteView = nil;
self.view = nil;
}
从主菜单返回游戏时,CPU/内存只会上升。
Best Answer-推荐答案 strong>
您不想从主屏幕切换到应用程序,然后再次切换到主屏幕。您将有两个主屏幕实例。如果你继续玩游戏,你也会有两个例子。每次你跟随循环系列的segues,你最终会得到更多的重复实例。
您应该使用“展开”转场(参见 this answer 例如展开转场)或使用 popViewControllerAnimated 或 dismissViewControllerAnimated ,具体取决于您是推送还是呈现给游戏 View Controller 。这就是您返回主屏幕的原始实例的方式,而不是创建一个新实例。
关于ios - SpriteKit - 在 segue 回到主屏幕时 CPU/内存泄漏,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/23050404/
|