AndroidWebView设置缓存方式

Android 中WebView中能设置的缓存方式有两种:

一.网页数据缓存

1.WebSettings可设置缓存方式

LOAD_DEFAULT:默认设置,当有缓存而且没有过期使用缓存,否则使用网络数据。

LOAD_CACHE_ELSE_NETWORK:只要有缓存就使用缓存,即使已经过期,否则使用网络数据。

LOAD_NO_CACHE:不适用缓存,只加载网络数据。

LOAD_CACHE_ONLY:不使用网络,只使用缓存数据。

方法调用:

webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE);


二. AppCache

查阅相关资料,总结如下:

AppCache简介:对app内存缓存的方案,具体表现为当请求某个文件时不是从网络获取该文件,而是从本地获取。

AppCache的好处:离线浏览 ,速度 - 已缓存资源加载得更快,减少服务器负载 - 浏览器将只从服务器下载更新过或更改过的资源。
在WebView中使用相关api

1、缓存构成
根据setAppCachePath(String appCachePath)提供的路径,在H5使用缓存过程中生成的缓存文件。


2、缓存模式

无模式选择,通过 setAppCacheEnabled(boolean flag) 设置是否打开。默认关闭,即,H5的缓存无法使用。


3、清除缓存

找到调用 setAppCachePath(String appCachePath) 设置缓存的路径,把它下面的文件全部删除就OK了。


4、控制大小

通过 setAppCacheMaxSize(long appCacheMaxSize) 设置缓存最大容量,默认为Max Integer。
同时,可能通过覆盖 WebChromeClient.onReachedMaxAppCacheSize(long requiredStorage, long quota, WebStorage.QuotaUpdater quotaUpdater) 来设置缓存超过先前设置的最大容量时的策略。


你可能感兴趣的:(混合开发,web)