您好,我正在项目中使用SDWebImage框架,想要下载并且缓存图片,但我觉得我的代码可能会把同一张图片存储两次?请问有没有什么方法可以通过一个键值只将图片存储一次到缓存中呢?以下是我的代码。
SDWebImageManager *manager = [SDWebImageManager sharedManager];
[manager downloadWithURL:[NSURL URLWithString:url] options:0 progress:^(NSUInteger receivedSize, long long expectedSize) {
} completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished) {
if(image){
NSString *localKey = [NSString stringWithFormat:@"Item-%d", i];
[[SDImageCache sharedImageCache] storeImage:image forKey:localKey];
}
}];
有我漏掉的东西吗?看起来在我的分配工具中执行此操作会导致大量的内存堆积。
[SDImageCache sharedImageCache]
中是否存在该图像。如果没有,请使用您自己的特定键存储它,以便下次使用。现在可能已经改变了,但是如果您要以这种方式进行操作,应该使用SDWebImageDownloader
,然后使用自己的键进行存储。 - Stakenborg