解决webview调用goBack()返回上一页自动刷新闪白的情况

所属分类: 软件编程 / Android 阅读数: 20
收藏 0 赞 0 分享

问题是:重写了onKeyDown()方法使其goBack(),但是遇到的问题是,每次进入webview再次返回原始页面的时候,中间会有一个闪白的出现。

试了好多网上的方法,发现都是扯淡。

后来意识到,webView 有缓存存在着缓存模式,怎么用不同的缓存模式呢?

//设置缓存模式
webView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT); 

需要把模式改成LOAD_NO_CACHE!!

但是每次都得重新请求很费资源,于是可以放在onKeyDown()里重新写一个LOAD_NO_CACHE,只在返回时调用无缓存模式

这样就可以在返回前一个页面的时候不刷新出现闪白了

代码:

private void initView() { 
 webview = (WebView) findViewById(R.id.faq_wv); 
 webview.loadUrl(url); 
 webview.setWebViewClient(new WebViewClient() { 
 @Override 
 public boolean shouldOverrideUrlLoading(WebView view, String url) { 
  view.loadUrl(url); 
  return true; 
 } 
 }); 
 WebSettings settings = webview.getSettings(); 
 settings.setJavaScriptEnabled(true); 
 settings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); 
} 
/* 改写物理按键返回的逻辑 */ 
@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
 if (keyCode == KeyEvent.KEYCODE_BACK && webview.canGoBack()) { 
 // 返回上一页面 
  webview.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE); 
 webview.goBack(); 
 return true; 
 } 
 return super.onKeyDown(keyCode, event); 
} 

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

更多精彩内容其他人还在看

Android实现悬浮窗体效果

这篇文章主要为大家详细介绍了Android实现悬浮窗体效果,显示悬浮窗口,窗口可以拖动,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Andriod studio 打包aar 的方法

这篇文章主要介绍了Andriod studio 打包aar的方法,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下
收藏 0 赞 0 分享

Android加载loading对话框的功能及实例代码(不退出沉浸式效果)

这篇文章主要介绍了Android加载loading对话框的功能及实例代码,不退出沉浸式效果,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中LayoutInflater.inflater()的正确打开方式

这篇文章主要给大家介绍了关于Android中LayoutInflater.inflater()的正确打开方式,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Delphi在Android下使用Java库的方法

这篇文章主要介绍了Delphi在Android下使用Java库的方法,本文以Android的USB串口通讯库为例,给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Retrofit2日志拦截器的使用

这篇文章主要介绍了Retrofit2日志拦截器的使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Android创建外部lib库及自定义View的图文教程

这篇文章主要给大家介绍了关于Android创建外部lib库及自定义View的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Android分享微信小程序失败的一些事小结

这篇文章主要给大家介绍了关于Android分享微信小程序失败一些事,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Android分享微信小程序技巧之图片优化

这篇文章主要给大家介绍了关于Android分享微信小程序技巧之图片优化的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Android Viewpager实现无限循环轮播图

这篇文章主要为大家详细介绍了Android Viewpager实现无限循环轮播图,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享
查看更多