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

你可能感兴趣的:(SDWebImage 原理)