我有一个应用程序,其中有一个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 /内存仅上升。
答案 0 :(得分:1)
您不希望再次从主屏幕切换到应用程序和主屏幕。您将有两个主屏幕实例。如果你再次对游戏进行了猜测,你也会有两个这样的例子。每次你使用循环系列的segue时,你最终会得到更多的重复实例。
你应该使用"放松" segue(请参阅this answer,例如展开segue)或使用popViewControllerAnimated
或dismissViewControllerAnimated
,具体取决于您是否推送或呈现给游戏视图控制器。这就是你如何返回主屏幕的原始实例,而不是创建一个新实例。