我有ViewController
创建并提供SKScene *scene
,我将在下面显示。目前,我正在展示一个包含大量节点,对象等的场景子类。
我最近开始确保我没有遇到和性能问题,当我发现我似乎有内存泄漏,大约+ 1到2 mbs。惊慌失措,我开始删除项目,直到我剩下的就是我的VC中的以下方法......:
- (void)viewDidLoad {
[super viewDidLoad];
// Configure the view.
SKView *skView = (SKView *)self.view;
if (!skView.scene) {
skView.showsFPS = YES;
skView.showsNodeCount = YES;
skView.showsPhysics = YES;
// Create and configure the scene.
SKScene *testScene = [SKScene sceneWithSize:CGSizeMake(1000, 1000)];
// Present the scene.
[skView presentScene:testScene];
}
// Do things after here pertaining to initial loading of view.
}
令我惊讶的是,应用程序内存大约加载1.2 MB,仍然每秒继续增长(这次是~0.3 mbs)。我迷失了,并且无法理解为什么即使绝对没有任何东西也可能导致这样的问题。如果有人知道我错过了什么,请告诉我 - 谢谢!
答案 0 :(得分:2)
意识到答案非常简单。我很高兴我注意到检查这一点,所以我想我会发布修复以防万一有人遇到同样的问题。
所有我必须做的......删除这一行。
skView.showsPhysics = YES;
猜猜精灵工具包保留了它所绘制的每个物理边界"并且由于最小的数值不准确,每个节点位置确实略微移动,它基本上重新绘制每个FPS的每个形状。所以,快乐的编码!