精灵套件内存泄漏



我有一个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)。我很迷茫,不明白为什么即使什么都不介绍也会导致这样的问题。如果有人知道我错过了什么,请告诉我 - 谢谢!

意识到

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

我所要做的...删除此行。

skView.showsPhysics = YES;

Guess精灵套件保留了它"绘制"的每个物理边界,并且考虑到每个节点位置由于最小的数字不准确性而略有移动,它基本上在每个FPS中重新绘制每个形状。所以,祝你编码愉快!

最新更新