android webview 更新,Android WebView缓存没更新解决方案

一:现象

客户端加载过H5页面A,后来H5修改为A'发布之后,在很长一段时间内,客户端一直展示的是A,没有更新为A'。

重启之后依然没有更新,只有清除缓存或者重装APP才会更新。

二:分析

根据现象得出,是由于webview的缓存导致页面一直没有更新。但是为什么没有更新?更新的机制是什么?应该怎么修改?

首先看下客户端的缓存机制,CacheMode一共有五种

CacheMode {

// 如果页面没有强制任何特定行为(依赖服务端控制),如果本地有未过期的缓存,就会直接加载本地缓存,否则就请求网络

LOAD_DEFAULT = -1

// 从API 11开始就废弃了,和LOAD_DEFAULT行为一致

LOAD_NORMAL = 0

// 只要本地有缓存,不管有没有过期,都使用本地缓存。否则就请求网络

LOAD_CACHE_ELSE_NETWORK = 1

// 忽略本地缓存(就算有也不用),直接请求网络

LOAD_NO_CACHE = 2

// 只使用本地缓存,不请求网络

LOAD_CACHE_ONLY = 3

}

重点看下LOAD_DEFAULT模式,这个是依赖服务端配置的缓存策略

http协议缓存机制

http协议缓存机制是指通过 HTTP 协议头里的 Cache-Control(或 Expires)和 Last-Modified(或 Etag)等字段来控制文件缓存的机制。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值