【多线程-第四天-自己模拟SDWebImage的下载图片功能-缓存管理 Objective-C语言】

一、我们再来做下载操作管理类的第二个任务——缓存管理

通知

1.下载操作管理类,第二个任务,它要去管理缓存,管理缓存的时候,既要管理内存缓存,又要管理磁盘缓存,之前,下载操作管理类,已经完成了下载这件事情,下边,我们回来,

先不考虑磁盘缓存呢,先考虑内存缓存,之前我们做过内存缓存,内存缓存的话,我们要做一件什么事儿,创建一个缓存池,

// 图片缓存池

@property(nonatomic,strong)NSMutableDictionary *imageCache;

通知

OK,下边,去懒加载,去初始化,

- (NSMutableDictionary *)imageCache{

if(_imageCache == nil){

_imageCache = [NSMutableDictionary dictionaryWithCapacity:10];

}

return _imageCache;

}

通知

图片的缓存池,就有了,下边我们要,当图片下载完成之后,我们应该把图片缓存起来,往下走,

通知

这是不是下载图片,当finishedBlock的时候,图片是不是下载完了,图片下载完了之后,下边我们就要去,

// 缓存图片

self.imageCache[urlString] = img;

通知

哎,把图片缓存起来了,那下边,在下载之前,下一次在下载之前,我们应该先去判断,判断图片是否有缓存,如果有缓存的话,那应该去直接从缓存中读取图片,显示图片,如果没有缓存的话,那才去下载图片,

// 判断图片是否有缓存

if(self.imageCache[urlString]){

}

通知

注意,在这个位置,我们两件事情都要解决,判断内存缓存,判断磁盘缓存,是不是也得写几行代码呢,我们之前有这样的经验,现在呢,这个方法,它的核心目的,可不是管理缓存,它的目的是什么,是不是专业下载图片,

通知

它的目的就是专业下载图片,我就下载图片,别的事

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

清风清晨

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

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

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

打赏作者

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

抵扣说明:

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

余额充值