一、SDWebImage的缓存处理

1.SDWebImage的常见面试题,我们知道SDWebImage既可以做内存缓存,又可以做磁盘缓存,当做内存缓存的时候,用的是NSCache,
SDWebImage在做磁盘缓存的时候,处理的比我们复杂,复杂在哪儿呢,复杂在它会设置磁盘缓存的缓存时间,缓存时间默认是一周的时间,是一个星期的时间,它会自动的把一个星期以前的图片给删除掉,
好,这件事情怎么实现的,我们可以通过源代码来看一下,源代码的话,看谁,打开,源代码的话,那么多类,不知道看哪个类,那我们先扫一眼,把这个SDWebImage这个项目打开,

项目打开之后,这里边是分成了四个文件夹,
1)SDWebImage
2)WebImage
3)Frameworks
4)Products
我们打开SDWebImage这个文件夹,

打开之后,又分成了四个文件夹,
1)Downloader
2)Cache
3)Utils
4)Categories
我们要看跟缓存相关的技术点的,我们看哪个文件夹,对,Cache,打开这个文件夹,里边的东西很简单,就一个类,SDImageCache,
把它的SDImageCache.h文件点开,看一下,

打开之后,这里边写了一些枚举啊,这些枚举我们曾经见过,
1)SDImageCacheTypeNone,
2)SDImageCacheTypeDisk,
3)SDImageCacheTypeMemory,

就是设置当前下载这些图片,是否缓存了,缓存到哪儿了,磁盘上还是内存里边来,再往下看,

这是这个类,这个类继承自NSObject,再往下看,


312

被折叠的 条评论
为什么被折叠?



