addImageAsync を使用して、スクローラー用に非同期で画像を読み込みます。
プロファイリングを開始すると、メモリの問題が発生し、画像がメモリに残りました。
次に、addImageAsync と spriteWithFile を、画像のロードと直接アンロードで比較することにしました。すべての読み込みが完了すると、addImageAsync はより多くのメモリを使用します。
私が使用する場合、多くの画像をロードするループで
CCSprite* sprite = [CCSprite spriteWithFile:previewPath];
NSLog(@"sprite created");
[[CCTextureCache sharedTextureCache] removeTexture:sprite.texture];
NSLog(@"texture removed");
sprite = NULL;
NSLog(@"sprite nulled");
最終的に72.4MBになりました
私が使用する場合:
[[CCTextureCache sharedTextureCache] addImageAsync:previewPath withBlock:^(CCTexture2D *tex) {
[[CCTextureCache sharedTextureCache] removeTexture:tex];
NSLog(@"texture removed");
[CCTextureCache purgeSharedTextureCache];
}];
最終的に108.7MBになりました
ここに問題がありますか、それとも何か間違っていますか?
(Cocos2d V2 を使用)