SDWebImage源码分析

发布在 源码分析

SDWebImage是一个开源的第三方库,它提供了UIImageView的一个分类,以支持从远程服务器下载并缓存图片的功能。它具有以下功能:

  1. 提供UIImageView的一个分类,以支持网络图片的加载与缓存管理
  2. 一个异步的图片加载器
  3. 一个异步的内存+磁盘图片缓存
  4. 支持GIF图片
  5. 支持WebP图片
  6. 后台图片解压缩处理
  7. 确保同一个URL不会被反复加载
  8. 确保下载及缓存时,主线程不被堵塞

从github上对SDWebImage使用情况可以看出,SDWebImage在图片下载及缓存的处理还是被认可的。在本文中,我们主要从源码的角度来分析一下SDWebImage的实现机制。讨论的内容将主要集中在图片的下载及缓存,而不包含对GIF图片及WebP图片的支持操作。不过在3.8.2版本以后,SDWebImage将会使用NSURLSession代替原来的NSURLConnection,主要是更新的是下载功能部分。具体变化可以看:点这里。目前截止到当前时间,最新的版本为4.0.0-beta2,这篇文章是在4.0.0-beta2基础上进行剖析。

阅读全文

前面几篇基本介绍了runtime中的大部分功能,包括对类与对象、成员变量与属性、方法与消息、分类与协议的处理。runtime大部分的功能都是围绕这几点来实现的。

本章的内容并不算重点,主要针对前文中对Objective-C Runtime Reference内容遗漏的地方做些补充。当然这并不能包含所有的内容。runtime还有许多内容。

阅读全文
Copyrights © 2019 贵永冬. All Rights Reserved.
作者的图片

贵永冬

iOS开发者
会一点RN和android, 十足的海贼迷


河南信悦通网络科技有限公司


河南 郑州