SDWebImage大家肯定都恨熟悉了,国内外太多的App使用其进行图片加载。
但是最近在使用过程中发现,我用SDWebImage加载多个图片,类似微博动态那种,在加载的过程中。我发现当图片分辨率比较大的时候(不是图片大),加载几张图片就崩溃了。
网上说可以每次加载图片清空memcache,但是效果并不好。
[[SDImageCache sharedImageCache]setValue:nilforKey:@"memCache"];
也有说把使用下面这个方法的地方全部注掉
+ (UIImage*)decodedImageWithImage:(UIImage*)image
但是效果并不明显。同时加载5-7张高分辨率图片还是会立即崩溃
我们使用SDWebimage肯定都会做三件事,一判断本地是否有这张图,二有的时候直接从本地取图片,三没有的时候去网络下载。
大概是像下面这样NSString*logoString = [_currentDic stringValueForKey:@"team_img"];if(logoString.length>0){ [[SDImageCache sharedImageCache] queryDiskCacheForKey:logoString done:^(UIImage*image, SDImageCacheType cacheType) {if(image) { [_teamImage setImage:image]; }else{ [_teamImage sd_setImageWithURL:kNSUrl(logoString) placeholderImage:IMGNAMED(@"defaultAvatar