如果我在 SKScene sublass init 方法中运行此代码
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,则不会发生这种情况。有没有人解决这个问题?
总结:我创建了精灵套件模板项目,添加了很多SKShapeNodes,并用新的SKScene替换了旧的SKScene。