iOS面试题(二)

来源:互联网 发布:js for 循环 异步函数 编辑:程序博客网 时间:2024/06/01 08:03

一. clear和clean的区别?
clear 先把之前的缓存文件夹删除掉,然后在新建一个文件夹
clean 先删除过期的文件,然后计算剩余缓存文件的大小(currrentSize)>maxSize,继续删除,按照它缓存文件创建的时间删除,直到(currrentSize)<=maxSize

二. 内存缓存时间是多久?
一周

三.内存缓存机制?
NSCache

四. 最大并发数量
6条

五. SDWeblmage任务的执行?是怎么实现的?
两种:先进先出和先进后出
实现:依赖来实现的

六. 默认的缓存路径
沙盒下的default下

七. 怎么处理图片的名称?
对URL进行MD5加密

八. 如何判读图片的第一个字节
得到二进制的第一个字节

九. 使用什么来下载图片的
NSURLConnection这个类,用代理方法下载图片

十. 默认的超时时间是多少?
15秒

十一. 该框架内部对内存警告的处理方式?
监听系统发出的警告通知,然后清空内存缓存

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

十三. 如何计算图片的成本?
长宽缩放比例*缩放比例
image.size.height * image.size.width * image.scale * image.scale

十四 保证错误的URL不会被尝试重新下载
因为内部设置了一个黑名单 (内部是NSMutableset)

0 0