解析SDWebImage框架

SDWebImage是一个加载网络图片的三方库,实现思路如下

1.缓存类,该类继承NSObject类,缓存类型有内存缓存,磁盘缓存。内存缓存采用的系统的NSCache类,该类可以设置缓存成本,缓存总大小,缓存对象最大成本。如果超过了缓存总大小,系统会发送内存警告,这时候该库会移除所有的缓存。与之相对应的磁盘缓存最长时间为一周,当清理缓存时会把超过一周的图片清理掉。最后对于读写,该库采用了一个串行队列,对磁盘进行操作,这样避免了多个线程同时访问资源。图片存储到磁盘时以url md5后作为文件名。

2.下载图片类:该类继承NSObject类,采用系统session会话任务发送网络请求,并采用NSOperationQueue加载异步任务,这儿也就是在异步任务中开启了一个异步网络请求任务。

3.UI类 通过类别对系统UI增加方法

4.管理类,该类管理缓存类,下载图片类,UI类。至于具体细节要仔细阅读源码  整个框架就这样

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

推荐阅读更多精彩内容