Webview 有时只有在暂停和恢复后才会变为空白

Posted

技术标签:

【中文标题】Webview 有时只有在暂停和恢复后才会变为空白【英文标题】:Webview becomes blank sometimes only after suspend and resume 【发布时间】:2017-09-15 20:38:20 【问题描述】:

在我的 android 应用程序中,我使用 WebView 从服务器加载页面。当应用程序在这个 webview 上时,如果我按下主页按钮然后切换回我的应用程序,WebView 看起来很好。到这里为止没有问题。 如果按下主页按钮后,如果我打开一些其他应用程序(如浏览器)然后在 youtube 中启动一些视频并打开一些在线新闻报纸然后切换回我的应用程序,那么 WebView 将显示为空白。

我认为没有任何简单的编码错误,如果我立即切换回我的应用程序,那么就没有问题。但只有当我打开浏览器 (Chrome) 应用并打开一些网站然后切换到我的应用时,它才会变为空白。

令人惊讶的是,在这个空白屏幕上,如果我在这里和那里点击,就会出现键盘。在我看来,当点击屏幕区域时,服务器页面中存在一个编辑框(尽管它不可​​见),键盘正在弹出。

从调试器中,在我的 DialogFragment 的 onResume 中,我可以看到 WebView 的可见性仅为 VIEW.VISIBLE,即使它在设备中显示空白屏幕也是如此。

如何调试或确定此问题? 任何想法,为什么会发生这种情况?

谢谢。

【问题讨论】:

【参考方案1】:

您是否尝试过您的 DialogFragment onPause :

mWebView.onPause();

在你的 DialogFragment onResume 上:

mWebview.onResume();

我在 webview 中的视频冻结它时遇到了类似的问题。

【讨论】:

是的,DialogFragment 的 onPause 和 onResume 是 @Overriden 并从中调用 super,然后分别调用 mWebView.onPause 和 .onResume。 我还 @Override onLowMemory 以查看当我的 web 视图变为空白时是否会调用它。但是,这不会被调用。

以上是关于Webview 有时只有在暂停和恢复后才会变为空白的主要内容,如果未能解决你的问题,请参考以下文章

在android webview上暂停/恢复svg动画

为啥我的搜索结果只有在我开始输入后才会显示?

为啥我的项目只有在发布到谷歌服务器后才会失败?

加载 webView 并发做网络请求

UILabel 只有在定向后才会增长

我正在尝试 MagicalRecord,但为啥只有在添加新属性后才会删除数据?