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