Android 解决WebView支持WebGL的兼容性问题

最近在开发的时候发现,虽然是同样使用的Android API中的WebView加载网页,但是对于不同的机型有的手机上并不能支持WebGL,理论上来说Android从5.0开始默认支持WebGL,原来Chromium对运行GPUs不稳定的或者有兼容性问题的设备会禁用WebGL。而且在Android平台可以通过安装Chorme浏览器访问chrome://gpu,找到reset notification strategy这一配置项确实是否关闭WebGL支持,如果值为0x8252则支持WebGL,如果值为0x0000则设备在黑名单中。

或许到这里我们会认为原来这是硬件的原因,没法解决,然而事情并没有这么愉快的结束o( ̄ヘ ̄o#)

当我在一些不支持的设备上下载完Google Chrome尝试着他是不是能打开的时候,答案是,它打开了,也就是说,原因并不能全部归咎于硬件,这与Android自带的浏览器的内核也是有关系的。

于是在网上开始找解决方法,找到了两种解决方法:

A.通过crosswalk,添加配置项xwalk –ignore-gpu-blacklist实现
crosswalk官网网站:https://crosswalk-project.org/
配置见Canvas and WebGL support,网址:https://crosswalk-project.org/documentation/about/faq.html,然而看了一会还是懵了。而且我按照它说的配置好打完包发现APK竟多了40多M。

B.TBS(腾讯浏览服务)X5内核,网址:http://x5.tencent.com/,看到之后当场先把Demo下下来试一下,果然可以。感谢腾讯X5内核让我度过了这个难关。
另外下一篇博客会介绍怎么在Android Studio中使用X5浏览器SDK,并且让一个第三方库可以直接在.\app\build.gradle中以

dependencies {
    compile 'URL'
}

的方式使用的方法,地址:http://blog.csdn.net/qq_27512671/article/details/53056882

发布了46 篇原创文章 · 获赞 62 · 访问量 30万+

猜你喜欢

转载自blog.csdn.net/qq_27512671/article/details/53055748