在我从包含游戏场景视图的视图控制器(例如,弹出主菜单)返回后,我使用了分析器并检测到这一点。游戏场景还在记忆中。
我想它和我用的某个SKAction有关。如何跟踪哪个对象导致该问题。
我使用一些SKAction运行块,永久地重复等等,我确信它会发生一些事情。
发布于 2015-03-12 21:28:22
您不能delete一个SKScene。我建议在你呈现场景的时候创建一个函数。这是一个例子
(Swift)
func deleteView(deleteEveryThing:Bool) {
if deleteEveryThing {
self.removeAllActions()
self.removeAllChildren()
//Scene presentation code here
}
else {
self.removeAllChildren()
//Scene Presentation Code here
}
}(目标- C)
-(void)deletView:(BOOL)deleteEveryThing {
if (deleteEveryThing) {
[self removeAllNodes];
[self removeAllActions];
}
else {
[self removeAllNodes];
[self removeAllActions];
}
}因此,我所做的是创建一个名为deleteView的函数,deleteView有一个布尔参数(真或假),如果它是trure,那么它将删除所有操作:self.removeAllActions() or [self removeAllActions];和SKScene中的所有子操作:self.removeAllChildren() or [self removeAllChildren];。这可以帮助释放内存,一旦这两行代码运行,您就可以处理场景演示代码。还有一个其他部分,它做同样的事情,但将SKActions留在SKScene中。
https://stackoverflow.com/questions/29020215
复制相似问题