0

Xcode のリークとして次の行が表示されます。

someSprite = [[CCSprite alloc] initWithFile:(NSString*)obj];

そこに割り当てることは知っていますが、Cocos2D がすべてのメモリ管理を処理していると思いました。とにかく、リークがないようにするには、その行をどのように適切に処理すればよいですか?

単純に autorelease を使用する必要がありますか?それ以上のことはありますか?

ありがとう!

4

2 に答える 2

2

Cocos2Dはあなたのためにメモリを処理しません。ただし、自動参照カウント(ARC)を使用すると、メモリを自分で処理する必要がなくなると思います。次に、cocos2dはARCをサポートしていないため、静的ライブラリとしてCocos2dを使用します。

ARCなしで問題を解決したい場合は、自動リリースを挿入するだけです。インスタンス変数の場合は、代わりにdeallocメソッドでリリースします。

于 2012-06-13T20:56:12.230 に答える
1

通常は、自動解放されたオブジェクトを返す静的コンストラクターを使用することをお勧めします。あなたの場合、それは

[CCSprite spriteWithFile:(NSString*)obj];

親に追加しても保持されます

于 2012-06-13T21:11:10.477 に答える