SDWebImage实现原理

这篇文章将主要介绍SDWebImage的实现原理,主要针对于获取网络图片的原理,如果没有第三方我们该怎么去做,当然我知识用文字去介绍,我想花大把的时间去深入理解我们用不到的东西,是很不值得的,不过兴趣的朋友可以去其他博客上查找相应信息,毕竟学无止境。好了下面开始进入正题。

1)当我门需要获取网络图片的时候,我们首先需要的便是URl没有URl什么都没有,获得URL后我们SDWebImage实现的并不是直接去请求网路,而是检查图片缓存中有没有和URl相关的图片,如果有则直接返回image,如果没有则进行下一步。

2)当图片缓存中没有图片时,SDWebImage依旧不会直从网络上获取,而是检查沙盒中是否存在图片,如果存在,则把沙盒中对应的图片存进image缓存中,然后按着第一步的判断进行。

3)如果沙盒中也不存在,则显示占位图,然后根据图片的下载队列缓存判断是否正在下载,如果下载则等待,避免二次下载。如果不存则创建下载队列,下载完毕后将下载操作从队列中清除,并且将image存入图片缓存中。

4)刷新UI(当然根据实际情况操作)将image存入沙盒缓存。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这篇文章将主要介绍SDWebImage的实现原理,主要针对于获取网络图片的原理,如果没有第三方我们该怎么去做,当然...
    Jack_Baiyx阅读 1,937评论 0 0
  • 在之前我写过SDWebImage的使用方法,主要是用与获取网络图片,没有看过的朋友可以看看。 这篇文章将主要介绍S...
    一等到天幻阅读 2,778评论 0 1
  • 之前面试有人问到过,你用到的图片缓存SDWebImage 的实现原理,感觉自己回答得不够系统,现在总结一下,以后再...
    春鹏阅读 3,514评论 0 0
  • 在工作中当我们加载图片的时候会经常用到SDWebImage,但也就是仅仅那几个方法.面试过程中面试官却特别喜欢问S...
    Clark_new阅读 4,179评论 0 2
  • 仔细算算还有大致过一个月的时间就要过年了,时间真的很经不起推敲,匆匆忙忙的,这一冬则过去了许久,只是在我们的几个城...
    说书客阅读 1,514评论 0 0