您的位置:首页 > 产品设计 > UI/UE

SDWebImage 里面给 UIImageView 加载图片的逻辑

2016-11-07 17:25 941 查看


1> SDWebImage中为UIImageView 提供了一个分类 UIImageView+WebCache.h, 这个分类中有一个最常用的接口 sd_setImageWithURL:placeholderImage:,会在真实图片出现前会先显示占位图片,当真实图片被加载出来后在替换占位图片。

2> 加载图片的过程大致如下:

1)、首先会在 SDWebImageCache 中寻找图片是否有对应的缓存,它会以 url 作为数据的索引先在内存中寻找是否有对应的缓存。

2)、如果缓存未找到就会利用通过 MD5 处理过的 key 来继续在磁盘中查询对应的数据,如果找到了, 就会把磁盘中的数据加载到内存中,并将图片显示出来。

3)、如果在内存和磁盘缓存中都没有找到,就会向远程服务器发送请求,开始下载图片,下载后的图片会加入缓存中,并写入磁盘中。整个获取图片的过程都是在子线程中执行,获取到图片后回到主线程将图片显示出来。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: