SDWebImage

主要功能:

  1. 支持网络图片的加载和缓存处理,NSOperationQueue下载图片。
  2. 图片编解码
  3. 图片格式转换
  4. gif图片处理
    5.Webp格式的图片处理
  5. 通过category给不同控件封装了类别,方便控件缓存图片

UML类图

SDWebImage_第1张图片
SDWebImageClassDiagram.png

SDWebImageDownloader

两种图片下载方式:
SDWebImage_第2张图片
下载方式.png

1. 默认最大下载并发数是6
使用了NSMapTable *weakCache; // strong-weak cache来缓存数据

效果:当外部不在持有对象了,键值对自动消除。

缓存的策略是:
如果超过缓存大小或者程序收到内存警告就将缓存清空。

ioQueue是一个串行队列
用来处理所有图片存储在磁盘

图片的转换和信号和alpha转换等等

@autoreleasepool:有大量的临时变量或者是大的文件或者图片的时候使用

磁盘存储:
当程序要中止运行的时候或者是程序将要进入后台的时候,对缓存数据按照时间排序,然后删除一半的磁盘数据
存储方式是:数组里面多个字典,字典里面存放的key、图像大小、时间date。

你可能感兴趣的:(SDWebImage)