SpriteKit内存问题

时间:2014-10-23 10:56:44

标签: memory uiviewcontroller sprite-kit skscene skview

我是使用SpriteKit进行游戏开发的新手,到目前为止一切顺利,但实际上是内存管理部分。

我创建了第一个UIViewController作为关卡选择器,第二个UIViewController创建了游戏的SKScene。当我从SKScene返回到关卡选择器并且没有释放任何内存时,会出现问题。

在游戏SKScene中,当用户按下后退按钮进入关卡选择器时,我发布通知,告知第二个UIViewController执行segue。

//SKScene
[self removeAllActions];
[self removeAllChildren];
[self removeFromParent];

[[NSNotificationCenter defaultCenter]postNotificationName:@"toLevelSelector" object:nil userInfo:nil];

//Second UIViewController
- (void)toLevel:(NSNotification *)notif
{
    [self performSegueWithIdentifier:@"toLevelSelector" sender:self];
}

您能否帮助我更好地了解skview或skscene从内存中释放的时间和地点?

1 个答案:

答案 0 :(得分:0)

我认为内存未发布,因为你没有解除持有SpriteKit的视图控制器。当我第一次尝试在UIViewControllers中创建具有菜单的游戏然后按钮启动SpriteKit游戏时,我体验到关闭游戏不会结束计时器,声音,音乐等... 假设您有一个名为MainMenuViewController的UIViewController,它有一个调用GameViewController的按钮,您可以在其中运行SpriteKit Game。因此,为了完全关闭游戏,请尝试在退出游戏按钮

中实现此方法
installations