5

ARC を有効にして Cocos2d 2.0 を使用しています。私のゲームはランダムに生成されたゲームなので、ゲームの途中でシーン内のテクスチャ (spritesheet-batchnode) をロード/アンロードする必要があります。ファイルからスプライトフレームを削除し、途中でアンロードしたいスプライトシートのキーのテクスチャを削除しようとしています。シートをアンロードした後に dumpcachedtextureInfo を使用すると、そのスプライトシート テクスチャが dumpcachedtextureinfo のログに表示されません。

しかし、Instruments/Activity Monitor を使用してアプリのプロファイルを作成すると、テクスチャとスプライトシートをアンロードした後、実際のメモリ使用量が低下しません。

まだメモリにあるテクスチャを dumpcachedtextureinfo が表示しないようにする方法はありますか? また、割り当ての My livebytes 列には 4 MB が表示されます。

また、さまざまな場所で、割り当てがテクスチャメモリを表示しないことを読んでいます。

したがって、割り当てのライブ バイト列には 4 MB と表示され、dumpcchedtextureinfo のログで示されるテクスチャ メモリの合計は 84 MB と表示されますが、メモリ モニタは実際のメモリ使用量が 84+Spritesheet size+ Live Bytes であることを示しています。

この違いが理解できませんか?

私はシーンを終了していないので、ARC がメモリを保持しているかどうかはわかりません。

4

1 に答える 1