1、clear 和 clean

clear 先把之前的缓存文件夹删除掉,然后新建一个文件夹

clean 先删除过期的文件,然后计算剩余缓存文件的大小 currentSize > maxSize,继续删除,按照它缓存文件创建的时间删除,知道currentSize <= maxSize

2、内存缓存时间是多久?

一周

3、内存缓存机制?

NSCache

4、最大并发量

6条,可以通过SDWebImageDownloader类的maxConcurrentDownloads属性来修改

5、SDWebImage 任务的执行? 是怎么实现的?

两种:先进先出,以队列的方式,按照先进先出的顺序下载。这是默认的下载顺序 SDWebImageDownloaderFIFOExecutionOrder

后进先出,以栈的方式,按照后进先出的顺序下载。 SDWebImageDownloaderLIFOExecutionOrder

实现:依赖来实现的

6、默认的缓存路径

沙盒下的 default 下

7、怎么处理图片的名称?

对URL进行MD5加密

8、如何判读图片的第一个字节

得到二进制的第一个字节

9、使用什么下载图片?

NSURLConnection类,用代理方法下载图片

10、默认的超时时间是多少?

15秒

11、该框架内部对内存警告的处理方式?

监听系统发出的警告通知,然后清空内存缓存

12、NSCache和字典的区别

NSCache使用方法和可变字典类似,它线程安全 可设置缓存成本,通过代理方法能拿到被处理的对象,可以自动清理缓存数据

13、如何计算图片的成本?

长宽缩放比例 * 缩放比例

14、保证错误的URL不会被尝试重新下载

因为内部设置了一个黑名单 NSMutableset

iOS SDWebImage知识点-LMLPHP

05-07 15:33