Если я запускаю этот код в методе инициализации SKScene sublass
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 новым.
Я добавил образец проекта на github https://github.com/zeiteisen/MemoryTest.