android webview 设置缓存的相关操作

来源:互联网 发布:北京精雕编程系统 编辑:程序博客网 时间:2024/05/18 05:26

今天获取webview页面,要使其在断网情况下也可显示,那么只能使用其缓存机制,webview的缓存相关设置在代码中如下:

WebSettings websetting = webview.getSettings();

websetting.setJavaScriptEnabled(true);   //与JS交互

websetting.setDomStorageEnabled(true);    //开启DOM形式存储

websetting.setDatabaseEnabled(true);   //开启数据库形式存储

String appCacheDir = this.getApplicationContext().getDir("cache", Context.MODE_PRIVATE).getPath();   //缓存数据的存储地址

websetting.setAppCachePath(appCacheDir);

websetting.setAppCacheEnabled(true);  //开启缓存功能

websetting.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);      //缓存模式

websetting.setAllowFileAccess(true);

websetting.setAppCacheMaxSize(size);      //设置缓存文件大小,但现在已不再提倡这个方法

关于缓存模式,有五种,根据不同需求可以进行设置:

LOAD_CACHE_ONLY:  不使用网络,只读取本地缓存数据

LOAD_DEFAULT:  根据cache-control决定是否从网络上取数据。

LOAD_CACHE_NORMAL: API level 17中已经废弃, 从API level 11开始作用同LOAD_DEFAULT模式

LOAD_NO_CACHE: 不使用缓存,只从网络获取数据.

LOAD_CACHE_ELSE_NETWORK,只要本地有,无论是否过期,或者no-cache,都使用缓存中的数据。


1 0
原创粉丝点击