欢迎访问移动开发之家(rcyd.net),关注移动开发教程。移动开发之家  移动开发问答|  每日更新

Android webview只加载10%且出现白屏问题排查解决,_一个小小的程序员1

来源: 开发者 投稿于  被查看 20605 次 评论:2

Android webview只加载10%且出现白屏问题排查解决,_一个小小的程序员1


原文:Android webview只加载10%且出现白屏问题排查解决 - Stars-One的杂货小窝

问题

有一个主页面,布局里是包含的一个自定义Webview,并且注入了些原生的方法进去,供原生JS调用

原生JS调用某个方法后,会先弹出个对话框,之后进入到另外一个含Webview的页面,并加载JS传递过来的一个url,但是却出现了白屏的问题

排查

首先,根据网上的资料,一一排查了一遍,但都没有结果

之后,我尝试注释掉了设置WebChromeClient对象,发现网页均可以正常加载

但此方法不是我想要的,因为我的自定义WebView是实现了文件上传的功能,如果不设置WebChromeClient的话,文件上传的功能不可使用

之后网上的大多是解决方案都是去改WebViewClient的,所以,肯定不是我这种情况的解决方法

在找资料的过程中,知道WebChromeClient类中提供了一个方法,可以获取当前网页的加载进度,于是重写了此方法,将进度打印了出来,但是进度就是加载到10%,之后没有任何反应了,页面也是白屏的

抱着试一试,搜索了webview 加载卡住,结果中发现了一个符合我情况的标题Android WebView 进度卡住10%不动,页面空白,页面无反应,不报错

进去一看,瞬间就有了思路,原来是我用来测试的html里js代码有触发js弹窗,然后我又是再弹窗之后直接跳转到页面,于是新页面中的webview加载资源就被暂停调了

于是我把html里的js弹窗取消,于是网页也是能够正常加载出来了

这个问题也是排查了两天,真不容易

用户评论