【多线程-第四天-SDWebImage的常见面试题-SDWebImage的缓存处理 Objective-C语言】

一、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,再往下看,

通知

定义了好多好多属性啊,

1)shouldDecompressImages:是否要压缩图片,

2)shouldDisableiCloud:是否要禁用iCloud,

3)shouldCacheImagesInMemory:是否要缓存在内存中,

4)maxMemoryCost:最大的成本,看上边的注释,The maximum “total cost” of the in-memory image cache.The cost function is the number of pixels held in memory.

total cost:就是最大的内存缓存的成本,就是缓存成本,就是设置NSCache,使用的这个缓存成本,

通知

5)maxMemoryCountLimit:最大缓存的个数,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清风清晨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值