0

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 を使用)

4

0 に答える 0