Я пытаюсь отслеживать свои спрайты в массиве, добавлять и удалять их из слоев, а затем, наконец, удалять их из массива.
Я использую следующий код:
Sprite * Trees[50];
Layer * Forest;
Forest = [Layer node];
Forest.isTouchEnabled = YES;
[self addChild:Forest z:30];
// do this a bunch of times
Trees[0] = [[Sprite spriteWithFile:@"mytree.png"] retain];
[Trees[0] setPosition:cpv(240,160)];
[Forest addChild:Trees[0] z:5];
И затем, когда я хочу уничтожить дерево, я использую:
[Forest removeChild:Trees[0] cleanup:YES];
[Trees[0] release];
Моя проблема в том, что когда я смотрю в «Инструменты», я никогда не восстанавливаю эту память, никогда не возвращаюсь назад. Я думал, что, выпустив спрайт, он освободит память. Я делаю это совершенно неправильно?