由于公司产品需要展示html5页面,一开始我使用的是android自带webview,一些简单的页面没什么问题,但是碰到比较复杂的页面就让人无语了。
1.Android各大厂商都有自己定制的ROM,导致WebView的兼容性和性能更差。
2.Android中的WebView组件,内存泄漏的问题一直没有非常有效的解决方案,让程序猿们痛不欲生。
3.在4.4以前的版本是WebKit的内核,4.4以后才换成chromium的内核,同时鉴于Google版本帝的风格,因此也导致各个版本之间的运行效率参差不齐。而且即使是chromium内核的版本,也因为要考虑兼容以前的版本,而变得不是那么美好。
为了解决上述问题,让用户有更好的体验,决定度娘、Google寻找第三方webview组件。经过一番翻查,比较流行的有Crosswalk、TBS服务。
Crosswalk:据说各种流畅、强大,且Cordova在新的版本当中也将默认支持Crosswalk。集成后APP体积会增多20多M(太大了)。具体的介绍可以参考:如何轻松搞定Crosswalk之嵌入模式
TBS服务:由腾讯QQ浏览器团队出品。支持“共享X5内核模式”和“独立下载X5内核模式”。配置和谷歌的Webview差不多,Webview有的方法TBS也都有,jar包不到300KB。具体可参考 TBS腾讯浏览服务
在结合我的实际需求,综合比较了上述两套解决方案之后,最终我还是选择了TBS服务,一是因为我不希望最终的APP体积突然增多了20多M(Crosswalk需要整体打包进APP),另一方面是小马哥的微信、手机QQ等APP在国内的装机量实在是太高了,而且能够支持以共享X5内核的方式,在自己的APP里面直接调用微信或手机QQ的浏览服务。
Demo 密码: 2jha
参考
性能 http://x5.tencent.com/guide?id=4000
Crosswalk 开发浅析,忘掉那些Webview的坑 - sslinp的博客 - 博客频道 - CSDN.NET http://blog.csdn.net/sslinp/article/details/51607237
Android WebView常见问题及解决方案汇总 - Whatever is worth doing is worth doing well. - 博客频道 - CSDN.NET http://blog.csdn.net/t12x3456/article/details/13769731
QQ浏览器X5内核问题汇总 https://www.qianduan.net/qqliu-lan-qi-x5nei-he-wen-ti-hui-zong/