评论

收藏

[Android] Android webview只加载10%且出现白屏问题排查解决

移动开发 移动开发 发布于:2022-07-19 16:32 | 阅读数:519 | 评论:0

原文:Android webview只加载10%且出现白屏问题排查解决 - Stars-One的杂货小窝
问题
有一个主页面,布局里是包含的一个自定义Webview,并且注入了些原生的方法进去,供原生JS调用
原生JS调用某个方法后,会先弹出个对话框,之后进入到另外一个含Webview的页面,并加载JS传递过来的一个url,但是却出现了白屏的问题
排查
首先,根据网上的资料,一一排查了一遍,但都没有结果
之后,我尝试注释掉了设置WebChromeClient对象,发现网页均可以正常加载
DSC0000.png

但此方法不是我想要的,因为我的自定义WebView是实现了文件上传的功能,如果不设置WebChromeClient的话,文件上传的功能不可使用
之后网上的大多是解决方案都是去改WebViewClient的,所以,肯定不是我这种情况的解决方法
在找资料的过程中,知道WebChromeClient类中提供了一个方法,可以获取当前网页的加载进度,于是重写了此方法,将进度打印了出来,但是进度就是加载到10%,之后没有任何反应了,页面也是白屏的
抱着试一试,搜索了webview 加载卡住,结果中发现了一个符合我情况的标题Android WebView 进度卡住10%不动,页面空白,页面无反应,不报错
进去一看,瞬间就有了思路,原来是我用来测试的html里js代码有触发js弹窗,然后我又是再弹窗之后直接跳转到页面,于是新页面中的webview加载资源就被暂停调了
于是我把html里的js弹窗取消,于是网页也是能够正常加载出来了
这个问题也是排查了两天,真不容易
DSC0001.jpg
DSC0002.png
DSC0003.png
DSC0004.gif
关注下面的标签,发现更多相似文章