Memory SpriteKit内存问题
我对SpriteKit的游戏开发还不熟悉,到目前为止一切都还不错,但内存管理部分还不够 我创建了第一个UIViewController作为级别选择器,第二个UIViewController用于显示游戏场景。当我从SKScene返回到level选择器时,问题出现了,并且没有释放任何内存 在游戏场景中,当用户按下后退按钮转到关卡选择器时,我会发布一条通知,通知第二个UIViewController执行该步骤Memory SpriteKit内存问题,memory,uiviewcontroller,sprite-kit,skscene,skview,Memory,Uiviewcontroller,Sprite Kit,Skscene,Skview,我对SpriteKit的游戏开发还不熟悉,到目前为止一切都还不错,但内存管理部分还不够 我创建了第一个UIViewController作为级别选择器,第二个UIViewController用于显示游戏场景。当我从SKScene返回到level选择器时,问题出现了,并且没有释放任何内存 在游戏场景中,当用户按下后退按钮转到关卡选择器时,我会发布一条通知,通知第二个UIViewController执行该步骤 //SKScene [self removeAllActions]; [self remov
//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应该在何时何地从内存中释放吗?我认为内存没有释放,因为您没有关闭保存SpriteKit的视图控制器。当我第一次尝试制作在UIViewController中有菜单的游戏,然后按钮启动SpriteKit游戏时,我体验到关闭游戏不会结束计时器、声音、音乐等。。。 假设您有一个名为MainMenuViewController的UIViewController,它有一个按钮,用于调用运行SpriteKit游戏的GameViewController。因此,为了完全关闭游戏,请尝试在退出游戏按钮中实现此方法
[(GameViewcontroller *)self.view.window.rootViewController dismissViewControllerAnimated:YES completion:nil];
你能解释一下你是如何确定那场戏没有被释放的吗?两个视图控制器是否创建不同的SKView实例(不推荐)?