自動解放されたオブジェクト(self.graphicsContainer)をリリースしないと、メモリリークを引き起こすcocos2dクラスがあります。コード:クラスプロパティのiOS用メモリリークを回避する方法
@property (nonatomic, retain) CCNode * graphicsContainer; // I create property
@synthesize graphicsContainer = _graphicsContainer; // I synthesize it
-(id)init
{
if ((self = [super init])) {
self.graphicsContainer = [CCNode node]; // which returns autoreleased object!
}
return self;
}
-(void) dealloc
{
[self.graphicsContainer release]; // If I do not release it I get memory leak warning!
[super dealloc];
}
なぜ私はそれをリリースしなければならないのですか?私が知る限り、オートレリースされたオブジェクトをリリースすべきではありませんか?
このコードはバックグラウンドスレッドで実行されていますか? – MByD
このコードはメインレイヤーとメインシーンのinit内部にあります。スレッドはありません.. – knagode