一、问题
使用DSBridge的DWebView 在Android 6 及 以下的Android 版本网页白屏
二、解决思路
1.发现问题:DSBridge 中的DWebView 是继承原生的WebView 写的,而原生的WebView 在Android 6 及 以下的Android 版本就是会出现网页白屏问题,以下展示的是继承原生WebView的DWebView 依赖
implementation 'com.github.wendux:DSBridge-Android:3.0-SNAPSHOT'
implementation 'com.github.wendux:DSBridge-Android:x5-3.0-SNAPSHOT'
这个是继承X5WebView 的DWebView 依赖,不过有问题,我拉下来DSBridge工程的源码,发现依赖的X5 版本比较低,以至于还是白屏,所以我就拉下源码,改了X5 版本
implementation 'com.tencent.tbs:tbssdk:44085'
3.我使用了X5 的DWebView 以后,发现有时候还是白屏,排查了很久时间,最后在打印X5 初始化的日志中发现,白屏原因是X5 初始化失败。
X5 初始化失败常见的原因:
而我的原因就是第3种,所以我在进入网页前需要判断X5 是否初始化成功才进入
4.接着我又遇到了新的问题,X5 一直初始化失败,显示110,目前还没有找到解决办法。
5.最后,我就两种DWebView 都用上,一个是依赖继承原生的DWebView ,另一个是将X5 版本的DWebView 源码集成到自己项目中。
当初始化失败,我就使用继承原生WebView的DWebView,
而Android 6 及以下的Android 版本手机,只能初始化成功才可以进入网页。
三、总结
WebView白屏最终解决办法, 不要使用原生WebView ,用X5 的WebView 代替,而使用X5 WebView 要等X5 初始化成功
原文地址:https://blog.csdn.net/weixin_41650019/article/details/122631333
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_8513.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!