一、为何不直接使用内置的WebView组件?
用Android自带的WebView组件,做过一些较复杂应用的人应该都会发现,这个自带的组件很多时候真是让人无力吐嘈,主要理由有二:
- Android中的WebView组件,内存泄漏的问题一直没有非常有效的解决方案,让程序猿们痛不欲生。
- Android中的WebView组件,在4.4以前的版本是WebKit的内核,4.4以后才换成chromium的内核,同时鉴于Google版本帝的风格,因此也导致各个版本之间的运行效率参差不齐。而且即使是chromium内核的版本,也因为要考虑兼容以前的版本,而变得不是那么美好。
也正因为如此,考虑到为了更好的体验,以及避免后续可能带来的更多麻烦,所以我试图站在巨人的肩膀上,寻找一个第三方可靠的WebView组件。
二、Crosswalk与TBS服务
Crosswalk:据说各种流畅、强大,且Cordova在新的版本当中也将默认支持Crosswalk。具体的介绍可以参考:如何轻松搞定Crosswalk之嵌入模式
TBS服务:由腾讯QQ浏览器团队出品。支持“共享X5内核模式”和“独立下载X5内核模式”。具体可参考TBS腾讯浏览服务
在结合我的实际需求,综合比较了上述两套解决方案之后,最终我还是选择了TBS服务,一是因为我不希望最终的APP体积突然增多了20M(Crosswalk需要整体打包进APP),另一方面是小马哥的微信、手机QQ等APP在国内的装机量实在是太高了,而且能够支持以共享X5内核的方式,在自己的APP里面直接调用微信或手机QQ的浏览服务,我认为未尝不是一种好的解决方案。
三、最终实现
好吧,必须承认我很久没有碰过Android了,所以因为一时的心血来潮,我选择了Google主推的Android Studio来体验,而不是以前习惯的Eclipse。这一下,就给自己找了个大麻烦,说多了都是泪……也只能自我安慰,我这是跟着时代与时俱进的成长了……
首先要说明的,Android Studio采用的是Gradle来构建项目,因此每一个项目都需要在国外的官网上下载对应版本的Gradle&