我已经在使用 AFNetworking 进行异步图像下载。我想知道是否有办法存储在磁盘或核心数据上,我应该为此调查 SDWebImage 吗?或者你会建议有一个定制的解决方案。
基本上我希望有一种非常透明的方式从 url 获取图像,所以首先在 NSCache 中查找它们,如果找不到,请在磁盘(或核心数据)上查找,如果找不到,请再次下载异步。
感谢您的任何想法
Best Answer-推荐答案 strong>
SDWebImage 已被证明是异步图像获取和缓存的真正可靠实现。
如果您将网络图像用于按钮或 ImageView ,您甚至可以调用 -(void)setImageWithURLNSURL *)url 方法来检查缓存,为您获取图像如果它不存在,它会在设置之前异步下载并存储在缓存中。
如果您需要图像来做其他事情,您仍然可以通过调用此库来受益:
SDWebImageManager *manager = [SDWebImageManager sharedManager];
// Remove in progress downloader from queue
[manager cancelForDelegate:self];
[manager downloadWithURL:yourURL delegate:self options:0];
稍后在委托(delegate)方法上检索图像:
- (void)webImageManagerSDWebImageManager *)imageManager didFinishWithImageUIImage *)image
{
// Do something with the image
}
注意
- (void)downloadWithURLNSURL *)url delegateid<SDWebImageManagerDelegate>)delegate optionsSDWebImageOptions)options
在尝试下载之前会检查缓存,因此每次需要图像时调用它是安全的。
关于iphone - 在 iO 上是否有用于图像缓存的框架?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/8703877/
|