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