应用程序崩溃:内存问题?

时间:2016-09-19 11:28:24

标签: ios xcode memory memory-leaks sprite-kit

我正在尝试使用Sprite Kit,我注意到当我让我的应用程序运行一段时间时它会崩溃。

我试图做的是画一条跟随我的玩家动作的线,我这样做是这样的:

var ref: CGMutablePathRef = CGPathCreateMutable()
var shapeLine: SKShapeNode!

override func update (){

shapeLine.removeFromParent()

CGPathAddLineToPoint(ref, nil, player.position.x, player.position.y) 

shapeLine = SKShapeNode(path: ref)
shapeLine.lineWidth = 3
shapeLine.path = ref

addChild(shapeLine)
}

这很好用,我每次都删除节点,更新路径,并用新路径创建另一个节点。

关键是在几秒钟后(大约25秒)它会崩溃。 节点是常量,因为我每次都添加和删除它们。帧速率在崩溃前开始减小,从30fps到20fps。

我觉得奇怪的是内存的使用,它增加了很多,甚至在崩溃之前使用了大约800mb。

我有什么遗忘,或者只是路径增加太多而无法处理?

1 个答案:

答案 0 :(得分:0)

不幸的是SKShapeNode出现了问题,此库组件周围存在许多错误,其中大部分都是here报告的。

您可以将SKShapeNode转换为纹理(textureFromNode),而不是将其与SKSpriteNode一起使用。