如何防止内存泄漏和高CPU使用率?

时间:2017-05-05 01:45:28

标签: ios iphone swift sprite-kit

我正在使用spritekit开发游戏。我正处于开发游戏的最后阶段,但我遇到了内存和CPU使用方面的一些困难。我注意到CPU有时会超过100%,主要是当我按下重启按钮时。每次按下重启按钮,我的内存也会以0.3 MB的速度增加。第一个问题主要发生在我立即死于游戏中。我只有一个场景。

下面提供的图像来自分配仪器。当我按下重启按钮或开始游戏时会出现尖峰。 0.3 MB的增量位于调试导航器中。这两者有区别吗?

重启按钮代码:

重启按钮是SkspritNode

override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
  for touch in touches {
    let location = touch.location(in: self)

    if restartbuttons.contains(location) {
      let transition = SKTransition.fade(withDuration: 3)
      let nextScene = GameScene(size: (self.scene?.size)!)
      nextScene.scaleMode = SKSceneScaleMode.aspectFill

      self.scene?.view?.presentScene(nextScene, transition: transition)

      removeAllChildren()
      removeAllActions()
      removeFromParent()                  
    }
  }
}

enter image description here

0 个答案:

没有答案