iOS面试知识点iOS开发之常用技术点iOS开发攻城狮的集散地

iOS-SDWebImage相关面试题

2019-02-25  本文已影响9人  路飞_Luck
一 Clear和Clean的区别
  1. Clear:先把之前的缓存文件夹删除掉,然后在新建一个文件夹
  2. Clean:先删除过期的文件,然后计算剩余缓存文件的大小(currrentSize)>maxSize,继续删除,按照它缓存文件创建的时间删除,直到(currrentSize)<=maxSize
二 磁盘缓存时间
static const NSInteger kDefaultCacheMaxCacheAge = 60 * 60 * 24 * 7; // 1 week
三 内存的缓存机制

NSCache

四 最大并发数量 3条

默认情况下,队列最大并发数是3。如果需要的话,我们可以通过SDWebImageDownloader类的 maxConcurrentDownloads 属性来修改。

@property (assign, nonatomic) NSInteger maxConcurrentDownloads;
五 SDWeblmage任务的执行?是怎么实现的?
六 默认的缓存路径

沙盒下的default下

七 怎么处理图片的名称?

对URL进行MD5加密

八 默认的超时时间是多少?

15秒

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

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

十 NSCache和字典的区别

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

十一 如何计算图片的成本?

长宽缩放比例*缩放比例
image.size.height * image.size.width * image.scale * image.scale

十二 保证错误的URL不会被尝试重新下载

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


本文参考iOS面试题-每日十道-第二天 SDWebImage相关面试题,非常感谢该作者。

上一篇下一篇

猜你喜欢

热点阅读