Android之WebView缓存应用

网上对于WebView的缓存技术用的很多,但是都是使用了缓存技术,却是没有使用缓存数据,这点很无奈。

废话不说了,看WebView的缓存设置:

<span style="font-family:Comic Sans MS;font-size:24px;">	private void initWebView() {
//		设置支持Javascript脚本语言
		settings.setJavaScriptEnabled(true);
//		设置缓存模式WebSettings.LOAD_CACHE_ELSE_NETWORK
		settings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
		if (URLUtil.isNetworkUrl(url)) {
			webView.loadUrl(url);
		} else {
			webView.loadUrl(utils.getUrl());
		}
	}
</span>
此处设置WebSettings.LOAD_CACHE_ELSE_NETWORK表示在非WIFI的情况下

然后设置强制网络访问

<span style="font-family:Comic Sans MS;font-size:24px;">	@Override
	public void onRefresh(PullToRefreshBase<WebView> refreshView) {
		if (NetworkUtils.getNetworkState(this) != NetworkUtils.NETWORK_NONE) {
			settings.setCacheMode(WebSettings.LOAD_NO_CACHE);
		} else {
			settings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
		}
		webView.loadUrl(url);
	}
</span>

这两段代码配合使用,WebView使用缓存数据还是使用网络请求当真是信手捏来。

你可能感兴趣的:(android,cache,缓存,webView)