Android知识 移动 前端 Python Android Java

android webview缓存访问优化

2018-09-02  本文已影响16人  乐之飞于

为了让WebView访问快,一般都是用缓存技术!这里简单介绍下:

其实http协议有自身的缓存机制,android这边通过简单配置就可以实现,缓存一般说的都是对web静态资源缓存,如html,js,css,png,jpg,gif等;

缓存配置主要是web前端和后台设置,

缓存配置主要是web前端和后台设置,

缓存配置主要是web前端和后台设置,

重要的话需要说3遍,如果前端和后台没有配置缓存的话,一般http服务器有默认的配置,如Etag,Last-Modified字段,但是默认没有配置Cache-Control,或者Expires字段,那还是要和服务器通信的

Android WebView自身缓存

Android WebView自身缓存,也就是http协议缓存,这里有个很大缺陷就是系统给的空间太小,只有12M,这个应该是几年前的标准了,目前个人觉得远远不够,所以这块需要改进

Android WebView缓存改进

通过拦截所有静态资源请求,然后对其改进,通过覆盖WebViewClient下面的方法:

@Override
public WebResourceResponse shouldInterceptRequest(WebView view, String url){

        return null;
}

@TargetApi(Build.VERSION_CODES.LOLLIPOP)//sdk21后调用
@Override
 public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request){
        return null;
}

然后拦截所有的静态资源,把静态资源放到本地磁盘,这样就可以自己控制缓存了,对于缓存分为两种模式

基本流程图

基本流程

其他,为了让访问加速也可以通过其它方式

上一篇 下一篇

猜你喜欢

热点阅读