SDWebImage
2016-03-08 本文已影响1105人
风雨啸青锋
今天来分析SDWebImage,它是一个异步加载图片并缓存的框架,说到图片缓存,先上张图来看下图片缓存的思路
URL为key 获取Image没错,这就是SDWebImage加载并缓存图片的流程,通常给ImageView赋值图片的时候直接调用ImageView分类的方法即可,那么SDWebImage是怎么把图片加载出来的呢
SDWebImage主要类在ImageView的分类中创建SDWebImageManager的单例对象,在此类中创建了SDWebImageDownloader,用它来催使SDWebImageDownloaderOperation开启下载图片的队列,最终图片是在SDWebImageDownloaderOperation中使用NSURLConnection来下载的,在回调中获取到NSData,再转换成UIImage
图片下载完成后,用SDImageCache将图片缓存至内存及磁盘中去
同样,加载图片的时候会优先查找内存及磁盘中是否有缓存,没有再下载图片,SDImageCache在初使化的时候就设置好了过期时间,到到期定时清理,这个缓存思路可以学习下,今天就先说到这,明天继续