SDWebImage的使用说明
1. 在需要的地方导入头文件 #import "UIImageView+WebCache.h"
webCache:网络缓存,几乎目前所有的浏览器都有一个内置的缓存,它们通常利用客户端本地的内存和硬盘来完成缓存工作,
同时允许用户对缓存的内容大小作控制。
这个方法默认已经开启了综合缓存:即自动立即把下载的图片既写入进内存缓存中,同时又写入进硬盘缓存中
该方法的第一个参数(NSURL *)url:我们所要求下载的那张图片的URL
该方法的第二个参数(UIImage *)placeholder:占位图片
在根据第一个参数URL从服务器下载这张图片的过程中,UIImageView控件会先显示该占位图片
在成功下载这张图片完毕后,UIImageView控件就会显示已下载的这张图片
options:缓存策略(缓存观点)
SDWebImageRetryFailed:下载图片失败时,自动再次重新下载该图片
SDWebImageLowPriority:用户在与UI界面交互时,暂停下载图片
SDWebImageRefreshCached:同时刷新内存缓存和硬盘缓存
SDWebImageCacheMemoryOnly:只进行内存缓存,禁止进行硬盘缓存
SDWebImageProgressiveDownload:渐进式下载该图片,所以会渐进式地显示正下载图片
开发中,通常使用SDWebImageRetryFailed和SDWebImageLowPriority
这个方法会先去内存缓存中查找这张图片,若找到了,就加载它;
若找不到,再去硬盘缓存中查找该图片,若找到了,就加载它,然后会立即把这张图片立即写入内存缓存中。
此时,如果空闲内存过小,会先自动清空内存缓存,下一次再加载这张图片时,就直接去内存缓存中加载这张图片了
若在硬盘缓存中也没有找到,说明系统的所有缓存都没有存储这张图片
这时,就使用指定的URL来下载这张图片,所以,这才正式开始下载这张图片。
成功下载这张图片后,UIImageView会自动显示这张图片,并且系统默认会自动立即把图片同时写入到内存缓存和硬盘缓存中。