NSURLCache、网络监测状态

本文介绍了在iOS中如何使用NSURLCache进行内存和硬盘缓存,以提高程序响应速度并节省用户流量。内容包括缓存的检查、设置、清除以及不同缓存策略的使用。此外,还讲解了如何利用Reachability类检测网络状态,以便在不同网络环境下适当地处理数据请求。
摘要由CSDN通过智能技术生成


有时候,对同一个URL请求多次,返回的数据可能一样的;

比如服务器上的某张图片,无论下载多少次,返回的数据都是一样的,但是这些情况会造成以下问题:

1,用户流量的浪费;

2,程序响应速度不够快


为了提高程序的响应速度,可以考虑使用缓存(内存缓存\硬盘缓存) 硬盘缓存也是沙盒缓存;

第一次请求数据:

1,客户端优先会去内存缓存中检测有无缓存;

2,然后再去硬盘缓存中检测有无缓存;

3,再去服务器请求数据;


当服务器返回数据时,需要做以下步骤

1,使用服务器的数据(比如解析、显示)

2,将服务器的数据缓存到硬盘(沙盒)

此时缓存的情况是: 内存缓存中有数据; 硬盘缓存中有数据;


一、如果程序并没有被关闭,一直在运行:

内存缓存中有数据;硬盘缓存中有数据;

如果再次请求数据,直接使用内存缓存中的数据即可。


二、如果程序重新启动

内存缓存已经消失,没有数据; 硬盘缓存依旧存在,还有数据;

一旦从硬盘缓存中读取数据,内存缓存中又有数据。



缓存的实现:

1,一般只对GET请求进行缓存,不必对POST请求进行缓存;

GET请求一般用来查询数据;

POST请求一般是发大量数据给服务器处理(变动性比较大)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值