iPhone网络开发二之缓存管理

iPhone网络程序比较依赖网络,所以sdk url loading 系统提供了缓存管理,是基于磁盘和内存复合方式的缓冲,缓冲使得程序减少对网络连接的依赖,并提供对之前缓存的response更快的回访时间。 被存储的缓冲是和每一个程序相关的(我的理解就是每一个程序有自己的缓冲,不知到对不对)

详细的cache 管理类可以看苹果官方的文档

NSURLRequest类在初始化的时候指定缓存规则,如果未指定系统按默认的规则(一般来说我们开发的程序都是按默认的规则,除非对缓存有特殊的要求)
NSURLConnection类可以查询缓存

NSURLCache类提供了一些方法,可以配置缓存的尺寸和在磁盘的位置,也提供了一些方法去管理NSCachedURLResponse 对象的集合,这些对象存储着被缓冲的responses

一个NSCachedURLResponse对象封装了NSURLResponse对象和URL的内容数据,前面一篇我提到过NSURLResponse对象本身只存储URL的元数据(metadata),NSCachedURLResponse对象也提供了一个用户信息字典,用来给程序缓存任意的自定义数据

并不是所有的协议实现都支持response缓冲的,只有http和https协议的request是被缓冲的,而且https协议的请求从不在磁盘缓冲

一个NSURLConnection对象可以通过实现 connection:willCacheResponse:delegate方法,去控制回应(response)是否被缓冲和是否只在内存中缓冲
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值