SDWebImage 原理

"SDWebImage":底层实现,利用系统的NSCache对图片做了二级缓存(一份保存在内存,一份保存在磁盘)

框架细节:1,缓存策略,默认情况下即做内存缓存又做磁盘缓存,下载图片前先检查内存缓存,在检查磁盘缓存。

2,缓存的实现方式:采用了苹果推出的专门用来处理缓存的类NSCache。

3,框架内不允许的最大并发数为6。

4,对系统内存警告的处理方式:框架内部监听系统内存警告的通知,当发生后移除内存缓存中所有的对象。

5,下载队列中对多个图片任务的处理方式:提供了FIFO和LIFO两种方式,默认为FIFO。

6,如何下载图片:采用NSURLConnection发送网络请求,在其代理方法中接收数据并处理进度回调等工作。

7,请求超时的设定:15秒。

8,判断图片类型的方式:只判断该图片二进制数据的第一个字节。

9,图片的命名:以该图片的URL进行MD5散列加密[echo -n"url"| MD5]

10,缓存路径:~/Library/Caches/default/com.hackemist.SDWebImageCache.default

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • SDWebImage 一个为UIImageView提供一个分类来支持远程服务器图片加载的库。 功能简介: 工作流程...
    Daniel_Guo阅读 14,003评论 2 64
  • 日常开发中,经常需要下载网络图片,最常用到的第三方库莫过于SDWebImage了,github托管地址https:...
    CALayer_Sai阅读 2,817评论 0 3
  • 具有缓存管理、异步下载、同一个URL下载次数控制和优化等特征。 SDWebImage 支持异步的图片下载+缓存,提...
    肉肉要次肉阅读 3,459评论 0 0
  • 转自:http://blog.csdn.net/huang2009303513/article/details/4...
    哈哈哈_哈哈哈阅读 2,532评论 0 0
  • 我以为在大学能收获一段爱情 一段纯真的恋爱 有着和小说里一样刻苦铭心的初恋经历 可是...... 好像一切都只是在...
    想吃西瓜的面包阅读 1,576评论 0 0

友情链接更多精彩内容