如果我在SKScene子类的init方法中运行这段代码
每当我在控制SKView的控制器中运行这段代码时,它都会执行。
我的内存使用量会不断增长,直到内存被填满并崩溃。如果我使用SKSpriteNode,就不会发生这种情况。有人有解决方法吗?
概述:我创建了一个Sprite Kit模板项目,添加了很多SKShapeNodes,并用新的SKScene替换了旧的场景。
我将示例项目添加到了Github上:https://github.com/zeiteisen/MemoryTest。
for (int i = 0; i < 100; i++) {
SKShapeNode *shape = [SKShapeNode node];
shape.antialiased = NO;
CGMutablePathRef path = CGPathCreateMutable();
CGPathAddEllipseInRect(path, NULL, CGRectMake(arc4random()%320, arc4random()%320, 10, 10));
shape.path = path;
[shape setStrokeColor:[UIColor blackColor]];
CGPathRelease(path);
[self addChild:shape];
[shape removeFromParent];
}
每当我在控制SKView的控制器中运行这段代码时,它都会执行。
SKView * skView = (SKView *)self.view;
// Create and configure the scene.
SKScene * scene = [ZTMyScene sceneWithSize:skView.bounds.size];
scene.scaleMode = SKSceneScaleModeAspectFill;
// Present the scene.
[skView presentScene:scene];
我的内存使用量会不断增长,直到内存被填满并崩溃。如果我使用SKSpriteNode,就不会发生这种情况。有人有解决方法吗?
概述:我创建了一个Sprite Kit模板项目,添加了很多SKShapeNodes,并用新的SKScene替换了旧的场景。
我将示例项目添加到了Github上:https://github.com/zeiteisen/MemoryTest。