SDWebImage简介及使用

1,SD自带缓存清理,图片在沙盒超过一星期,会自动清理。
2,SD这个库比较特殊,他包含了其他的第三方库,所以clone时需要用到递归下载

3,升级这个第三方库:cd到这个库的目录,git pull
4,如何去学习一个第三方库?
*建立分支。Source Control -> New Branch /  Switch to Branch
*始终保存一份源程序

5, SDWebImage 常见问题

1. 图片文件缓存的时间有多长: 1
_maxCacheAge
kDefaultCacheMaxCacheAge

2. SDWebImage 的内存缓存是用什么实现的?
NSCache


3. SDWebImage 的最大并发数是多少?
maxConcurrentDownloads
6 是程序固定死了,可以通过属性进行调整!

4. SDWebImage 支持动图吗? GIF
支持
#import <ImageIO/ImageIO.h>
[UIImage animatedImageWithImages:images duration:duration];

5. SDWebImage 是如何区分不同格式的图像的
根据图像数据第一个字节来判断的!

PNG
:压缩比没有 JPG 高,但是无损压缩,解压缩性能高,苹果推荐的图像格式!
JPG
:压缩比最高的一种图片格式,有损压缩!最多使用的场景,照相机!
解压缩的性能不好!
GIF
:序列桢动图,特点:只支持 256 种颜色!最流行的时候在 1998 1999 ,有专利的!

6. SDWebImage 缓存图片的名称是怎么确定的!

www.baidu.com/logo.png

如果单纯使用 文件名保存,重名的几率很高!

使用 MD5 的散列函数!对完整的 URL 进行 md5 ,结果是一个 32 个字符长度的字符串!

7. SDWebImage 的内存警告是如何处理的!

利用通知中心观察

- UIApplicationDidReceiveMemoryWarningNotification
接收到内存警告的通知

执行 clearMemory 方法,清理内存缓存!

- UIApplicationWillTerminateNotification
接收到应用程序将要终止通知

执行 cleanDisk 方法,清理磁盘缓存!

- UIApplicationDidEnterBackgroundNotification
接收到应用程序进入后台通知

执行 backgroundCleanDisk 方法,后台清理磁盘!

通过以上退出的通知,能够保证缓存文件的大小始终在控制范围之内!


clearDisk
清空磁盘缓存,将所有缓存目录中的文件,全部删除!
实际工作,将缓存目录直接删除,再次创建一个同名空目录!


6,最常用的方法


7,SD主体结构示意图

8,SDImageCache 详解
*SD的缓存也是用单例来做的,缓存部分做的非常优秀。
*当SD接收到应用程序将要终止的通知,执行cleanDisk方法,清理磁盘缓存


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值