首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Iphone >

iPhone网络开发2之缓存管理

2012-09-12 
iPhone网络开发二之缓存管理iPhone网络程序比较依赖网络,所以sdk url loading 系统提供了缓存管理,是基于

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)是否被缓冲和是否只在内存中缓冲

热点排行