使用DSBridge 显示网页白屏问题

一、问题

使用DSBridge的DWebView 在Android 6 及 以下的Android 版本网页白屏

二、解决思路

1.发现问题:DSBridge 中的DWebView 是继承原生的WebView 写的,而原生的WebView 在Android 6 及 以下的Android 版本就是会出现网页白屏问题,以下展示的是继承原生WebView的DWebView 依赖

implementation 'com.github.wendux:DSBridge-Android:3.0-SNAPSHOT'

2.使用DSBridge的X5版本

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 初始化失败常见的原因:

  1. 网络问题
  2. 没有存储权限
  3. X5 还没有初始化成功就使用相关的X5 WebView 显示网页

而我的原因就是第3种,所以我在进入网页前需要判断X5 是否初始化成功才进入
4.接着我又遇到了新的问题,X5 一直初始化失败,显示110,目前还没有找到解决办法。
5.最后,我就两种DWebView 都用上,一个是依赖继承原生的DWebView ,另一个是将X5 版本的DWebView 源码集成到自己项目中。
当初始化失败,我就使用继承原生WebView的DWebView,
而Android 6 及以下的Android 版本手机,只能初始化成功才可以进入网页。

三、总结

WebView白屏最终解决办法, 不要使用原生WebView ,用X5 的WebView 代替,而使用X5 WebView 要等X5 初始化成功

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值