Android和iOS关于WebView(UIWebView)缓存的看法
2016-07-06 09:33
489 查看
1.首先判断是否有网络,若没有网络使用
NSURLRequestReturnCacheDataDontLoad
也就是说,已经存在的缓存数据用于请求返回,不管他的过期日期和已经存在了多久,若没有请求对应的缓存数据,不要去数据源读取,该请求被设置为失败,这种情况多数用于离线模式。
2.在有网络的情况下,判断是4G还是WIFI。
3.如果是4G,使用
NSURLRequestReloadRevalidatingCacheData
,对已经存在的缓存数据先去数据源验证有效性,如果无效,将从数据源获取,若缓存有效,则加载
Cache
4.如果是WIFI,使用
NSURLRequestReloadlgnoringLocalAndRemoteCacheData
这里是说,在有WIFI的状态下,不仅忽略本地的缓存数据,还忽略中间网络媒介(如代理服务器)的缓存,直接从最原始的服务器拿取数据。
Android
1.同理也是先判断是否有网络,如果没有网络,使用
LOAD_CACHE_ELSE_NETWORK,即优先加载本地缓存,本地无缓存时,尝试从网络获取数据,获取失败,则提示网络错误信息。
2.若有网,使用
LOAD_DEFAULT
根据
cache-control决定是否从网络上获取数据。如果设置为
noCache()则无论如何都从网络上获取数据,不care缓存数据的问题。
相关文章推荐
- FTP报错“451 No mapping for the Unicode character”解决
- android中读取properties文件
- Android开发平台搭建
- 移动端H5 QQ在线客服链接代码
- IOS日志打印
- 微信JS SDK Demo 官方案例
- Android 程序框架设计
- android:id="@+id/button1" 与 android:id="@id/button1" 区别 @string
- android签名那点事
- iOS学习(七)Objective-C 存取器方法
- IOS实现选择城市后跳转Tabbar效果
- 【代码笔记】iOS-获得徐家汇的天气预报
- 【代码笔记】iOS-获得徐家汇的天气预报
- Android4.4.2KK竖屏强制更改为横屏的初步简略方案
- Android4.4.2KK竖屏强制更改为横屏的初步简略方案
- Android studio启动后卡在refreshing gradle project的一个解决办法 有意思哈哈
- [iOS imageView]headImage 异形图片的画法(小技巧记录)
- IOS代码笔记之下拉菜单效果
- iOS与HTML5交互方法总结
- 使用Fresco加载图片