我注意到当使用SceneKit的应用程序运行时内存使用量增加
稳步。经过一些搜索后,我将其指向aNode.runAction。

每次调用runAction时,它都会占用一点内存空间,并且永远不会释放它。

由于runAction经常在应用程序中使用,因此很明显它将使其崩溃。

有什么事情可以避免这个问题?

我正在使用这种功能来移动一些节点。

我尝试移动一个节点,但是什么也没改变,只占用了更少的内存。

  func moveMyNodes(x:CGFloat, y:CGFloat, z: CGFloat, speed: CGFloat) {
    for k in 0..myNodes.count {
      let action = SCNAction.moveBy(x:x, y:y, z:z, duration: speed)
      myNodes[k].runAction(action)
    }
  }

最佳答案

我找到了原因。
在循环中,某些节点没有几何形状,因为不应看到它们。
对没有几何图形的节点执行.runAction时,它会占用一些内存,并且它们加起来。

我只是摆脱了没有几何形状的节点。

10-08 09:14