SpriteKit - 将segue上的CPU /内存泄漏回主屏幕

时间:2014-04-14 01:04:12

标签: ios objective-c cocoa memory-leaks sprite-kit

我有一个应用程序,其中有一个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 /内存仅上升。

1 个答案:

答案 0 :(得分:1)

您不希望再次从主屏幕切换到应用程序和主屏幕。您将有两个主屏幕实例。如果你再次对游戏进行了猜测,你也会有两个这样的例子。每次你使用循环系列的segue时,你最终会得到更多的重复实例。

你应该使用"放松" segue(请参阅this answer,例如展开segue)或使用popViewControllerAnimateddismissViewControllerAnimated,具体取决于您是否推送或呈现给游戏视图控制器。这就是你如何返回主屏幕的原始实例,而不是创建一个新实例。