Cocos2d 2.0 と XCode 4.5.2 を使用していますが、特定の時間にどのスプライトシート/画像がまだメモリ上にあるかを検出する方法を知りたいです。
例: Scene で images.pvr.ccz スプライトシートを読み込み、次に replaceScene を呼び出して Scene2 を読み込みます。Scene2 の実行中に、常駐メモリが各シーンで増加するため、images.pvr.ccz がまだメモリ内にあるかどうかを確認したいと考えています。
インストルメント ツールを使用する必要がありますか、それともテクスチャ キャッシュ関連のクラスにブレークポイントを追加する必要がありますか?
次のように、画像をframeCacheに追加します。
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"images.plist"];
batchNode = [CCSpriteBatchNode batchNodeWithFile:@"images.pvr.ccz"];
[self addChild:batchNode];
追加の詳細 - 不要
次の動作があります。シーンを置き換えるたびに、スプライトシートのサイズに対応する「x」MB だけメモリが増加します。
これらの呼び出しを各シーンの init メソッドに追加しましたが、それでもメモリは増加します。
[CCAnimationCache purgeSharedAnimationCache];
[CCShaderCache purgeSharedShaderCache];
[[CCSpriteFrameCache sharedSpriteFrameCache] removeUnusedSpriteFrames];