For start game, i use this code:
if(game){
//New Start Game
[game release];
}
game = [GameScene node];
[game retain];
[[Director sharedDirector] pushScene:game];
When starting a new game, variable game not nil, then called [game release]. And in window Organizer->Console print:
Mon Sep 14 22:34:06 unknown configd[21] <Notice>: kernel memory event (90), free: 373, active: 1787, inactive: 945, purgeable: 0, wired: 11148
Mon Sep 14 22:34:07 unknown SpringBoard[22] <Warning>: Memory level is urgent (10%). Asking 'OceanMonster' to quit.
Mon Sep 14 22:34:07 unknown SpringBoard[22] <Warning>: Writing low memory report regarding 'OceanMonster'
Mon Sep 14 22:34:07 unknown configd[21] <Notice>: kernel memory event (95), free: 256, active: 910, inactive: 544, purgeable: 0, wired: 11183
It turns out the function [game release] does not release memory.
Class GameScene.m have funstion dealloc:
- (void) dealloc
{
[super dealloc];
}
How start new game???