SpriteKit内存泄漏?

时间:2016-03-03 22:58:02

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

我有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)。我迷失了,并且无法理解为什么即使绝对没有任何东西也可能导致这样的问题。如果有人知道我错过了什么,请告诉我 - 谢谢!

1 个答案:

答案 0 :(得分:2)

意识到答案非常简单。我很高兴我注意到检查这一点,所以我想我会发布修复以防万一有人遇到同样的问题。

所有我必须做的......删除这一行。

skView.showsPhysics = YES;

猜猜精灵工具包保留了它所绘制的每个物理边界"并且由于最小的数值不准确,每个节点位置确实略微移动,它基本上重新绘制每个FPS的每个形状。所以,快乐的编码!