以下は、メモリからCCNodeのコンテンツのほとんどを削除したコードです。ノードにはオーディオが含まれていないことに注意してください。
実装ファイルの上部に、次の行を追加します。
#import "CCTextureCache.h"
また、実装ファイルにもonExitメソッドを追加します。
-(void)onExit{
[super onExit];
[self removeAllChildren];
[[CCTextureCache sharedTextureCache]removeUnusedTextures];
}
テクスチャがアプリを実行し、リアルタイムであなたの記憶を監視するために、Xcodeでデバッグナビゲーターを使用し
[[CCTextureCache sharedTextureCache]dumpCachedTextureInfo];
を使用することができます削除されたことを確認します。
その他/削除ノードの追加に関する研究:あなたのアプリがデバイスの特定のメモリのしきい値に達するとので、あなたがメモリについて「心配する必要はありません」cocos2d V3.Xで
を、あなたが取得します "低メモリ警告 '、CCAppDelegate自動的にキャッシュされたデータを削除します。
// purge memory
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application
{
[[CCDirector sharedDirector] purgeCachedData];
}
しかし、あなたは大きな、時には、複数のテクスチャファイルをロードし、メモリのしきい値を超えたアプリのチャンスがあるかもしれない場合には、メモリを低く維持することは有益であり得ます。
未使用のデータを削除すると、プログラムに影響するメモリリークやバグの可能性があるコードを削除するのにも役立ちます。
もし私が思い出すなら、潜在的な保持サイクル(アニメーションなど)を殺すために何かを削除するには 'クリーンアップ:はい'する必要があります。 – YvesLeBorg