- 使用SDWebImage库setImageWithURL方法下载的图片都会存储到SDWebImage的缓存文件夹中,第二次加载同样的图片,可先从缓存文件夹中查找是否有图片,没有图片再发起请求。默认SDWebImage缓存的图片名称为图片的URL,可通过[[SDImageCache sharedImageCache] imageFromDiskCacheForKey:]方法从缓存中查找对应图片
NSString *pictureURL = @"htt://www.baidu.com/picture...";
UIImage *headimage = [[SDImageCache sharedImageCache] imageFromDiskCacheForKey:pictureURL];
if (headimage) {
self.headImageView.image = headimage;
} else {
[self.headImageView sd_setImageWithURL:[NSURL URLWithString:pictureURL] placeholderImage:[UIImage imageNamed:@"PersonalHeadImage"]];
}
- 项目中使用SDWebImage库下载了很多图片,而且是用在了tableView中循环调用的话,用户在界面上不停的滚动tabview,会导致内存暴涨,SDWebImage库会在收到内存告警时自动清理图片内存,当然用户可以根据自己的需求手动清除图片内存。手动清除图片内存操作如下:
// 在tableview滚动的时候调用
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
// 清楚图片缓存
[[SDImageCache sharedImageCache] clearMemory];
}
网友评论