hello,好久不见了。今天带来一个图片缓存的功能,实在是网络上的方法都太水了。
在开发中常常遇到这样的需求,需要将网络请求回来的url地址中的图片保存到本地,在下次启动app的时候查看本地是否存在图片,不存在才去下载网络图片。
比如我项目中有个获取视频封面的需求,每次进入列表都是重新获取,耗费了性能,我们可以使用'SDWebImage'框架,这里我们自己来实现这样的功能。
1.保存网络图片到本地沙盒路径
//6、将其存储到本地缓存路径,传入图片和图片的key(自定义)
//定义一个缓存key
NSString *'imagekey'= [videoURL.absoluteString.lastPathComponent componentsSeparatedByString:@"."][0];
[[SDImageCache sharedImageCache] storeImage:'image' forKey: 'imagekey' completion:^{
}];
2.读取沙盒路径中图片
//取到图片就返回,取不到就缓存
UIImage *cacheImage = [[SDImageCache sharedImageCache] imageFromMemoryCacheForKey: 'imagekey'];
if (cacheImage) {
return cacheImage;
}
关于SDWebImage
的其它方法,请自行研究。