如官網(wǎng)上所說(shuō)巨朦,我下載了一個(gè)X5完整版的SDK包,里面就一個(gè)jar文件剑令。
第一個(gè)坑糊啡,按照官方步驟來(lái)X5啟用不了。
按照官方的步驟來(lái)吁津,發(fā)現(xiàn)我的應(yīng)用X5啟用不了內(nèi)核棚蓄,但是官方的demo卻可以。弄了半天碍脏,發(fā)現(xiàn)SDK上沒(méi)有.so文件梭依。而demo上卻有。于是我把整個(gè)armeabi復(fù)制到lib目錄下典尾。不過(guò)坑爹的役拴,竟然還是不行。钾埂。河闰。科平。檢查了一下,發(fā)現(xiàn)目錄放錯(cuò)地方了姜性!AS上應(yīng)該在java目錄下新建一個(gè)jniLibs的文件夾瞪慧,再把a(bǔ)rmeabi一起放進(jìn)去。可以啟用部念,如果啟用不了弃酌,請(qǐng)殺掉整個(gè)應(yīng)用,重新開(kāi)啟儡炼。
判斷是否啟用X5可以使用如下代碼:
if(mWvMain.getX5WebViewExtension()!=null){
textView.setText("x5 core");
}else{
textView.setText("sys core");
}
第二個(gè)坑矢腻,有些手機(jī)可以啟用,有些手機(jī)不可以啟用射赛。
啟用之后多柑,我們想看看X5的速度是不是更快一些,讓公司的妹紙使用測(cè)試機(jī)去測(cè)試楣责。
發(fā)現(xiàn)竟然沒(méi)啟用X5內(nèi)核竣灌,按照文檔,測(cè)試機(jī)上有安裝手機(jī)QQ既可直接啟用X5「阳铮現(xiàn)在是沒(méi)啟用初嘹!尼瑪,不會(huì)讓用戶安裝demo吧沮趣。點(diǎn)開(kāi)手機(jī)空間也沒(méi)反應(yīng)啊屯烦。接上AS,查看日志房铭,提示
Failed to chmod(/data/data/com.tencent.mobileqq/app_tbs)
竟然沒(méi)權(quán)限驻龟?難道這個(gè)手機(jī)沒(méi)權(quán)限?
然后我就把手機(jī)微信全卸了缸匪,重新安了我們自己的應(yīng)用翁狐,發(fā)現(xiàn),又可以啟用凌蔬!難道跟QQ有關(guān)露懒?經(jīng)過(guò)一番搜索,發(fā)現(xiàn)一條線索:“手機(jī)QQ并不包含X5內(nèi)核砂心,需要手機(jī)點(diǎn)開(kāi)某個(gè)網(wǎng)頁(yè)懈词,內(nèi)核才會(huì)去下載”。
經(jīng)過(guò)一系列測(cè)試辩诞,發(fā)現(xiàn)測(cè)試機(jī)的QQ沒(méi)有使用過(guò)網(wǎng)頁(yè)坎弯,導(dǎo)致沒(méi)有下載X5內(nèi)核,而第三方應(yīng)用因?yàn)閽呙璧绞謾C(jī)QQ,所以去尋找共享手QX5內(nèi)核荞怒,而未獨(dú)立下載洒琢。所以有上面那個(gè)錯(cuò)誤。然后啟用X5失敗褐桌。
結(jié)論:
1衰抑、如果手機(jī)上未安裝微信,手Q或者QQ瀏覽器荧嵌。第三方接入X5應(yīng)用會(huì)自己去下載X5內(nèi)核呛踊,并在應(yīng)用重啟后啟用。
2啦撮、如果手機(jī)上安裝了手Q或者微信或者瀏覽器谭网。則會(huì)去尋找共享的X5內(nèi)核,而不會(huì)自己下載新X5內(nèi)核赃春。
3愉择、如果手Q或者微信沒(méi)打開(kāi)過(guò)網(wǎng)頁(yè),則內(nèi)核還是不會(huì)啟用织中。需要手動(dòng)點(diǎn)開(kāi)網(wǎng)頁(yè)先锥涕。
4、如果你應(yīng)用依賴的是手Q的內(nèi)核狭吼,在手Q被卸載掉之后层坠,應(yīng)用會(huì)去尋找其他共享X5內(nèi)核。走第2步
5刁笙、sd卡下有個(gè)TBS的文件夾破花,有一些東西。
===================================================================
11月28日更新
有人想問(wèn)一下X5的效果疲吸。
筆主是有做過(guò)簡(jiǎn)單測(cè)試的座每,以下測(cè)試不能概括全部,并不能告訴你所有的情況磅氨,我只是按照我這里的測(cè)試尺栖,給出我自己的測(cè)試結(jié)果嫡纠,僅供參考烦租。
測(cè)試方法:集成x5,項(xiàng)目?jī)?nèi)除盏,配置一個(gè)切換內(nèi)核按鈕叉橱,進(jìn)行點(diǎn)擊,記錄Activity onCreat------pagefinsh的各時(shí)間差者蠕,多次重復(fù)并且計(jì)算出平均值窃祝。(測(cè)試是X5有集成,按照我上面寫的那個(gè)方法會(huì)顯示X5內(nèi)核踱侣,并且粪小,在Application已進(jìn)行初始化大磺。)
測(cè)試環(huán)境:使用華為I7,系統(tǒng)版本號(hào)為EMUI4.0探膊,使用的網(wǎng)絡(luò)是較為穩(wěn)定的4G網(wǎng)絡(luò)杠愧。使用的X5內(nèi)核是2016年11月24日下的:tbs_sdk_thirdapp_v2.5.0.1031_36880_sharewithdownload ?.so文件是demo附帶的
測(cè)試步驟:點(diǎn)擊某個(gè)鏈接,加載完成退出逞壁,切換內(nèi)核流济,再點(diǎn)擊飛享套餐,加載完成退出腌闯,切換內(nèi)核绳瘟。。姿骏。糖声。。分瘦。
測(cè)試結(jié)果:測(cè)試20多次
測(cè)試總結(jié):
1姨丈、一個(gè)鏈接的第一次的加載webview會(huì)比x5速度快一點(diǎn)。
2擅腰、如果重復(fù)點(diǎn)擊一個(gè)鏈接蟋恬,來(lái)回切換,只要次數(shù)足夠多趁冈,X5速度會(huì)比webview快歼争。
3、如果點(diǎn)擊不同鏈接渗勘,并且次數(shù)不是很多沐绒,webview會(huì)比x5速度快。
是否使用X5總結(jié):
X5優(yōu)點(diǎn):
1旺坠、如官方視頻展示乔遮,X5的視頻會(huì)比chrome流暢。
2取刃、如官方所說(shuō)蹋肮,穩(wěn)定性可能更穩(wěn)一點(diǎn)。
3璧疗、如上測(cè)試結(jié)果坯辩,如果一個(gè)鏈接點(diǎn)擊的次數(shù)足夠多,那么速度會(huì)快一點(diǎn)崩侠。
X5缺點(diǎn):
1漆魔、如上,我自己手機(jī)的測(cè)試,以及公司其他手機(jī)的測(cè)試改抡,速度都會(huì)慢一點(diǎn)矢炼。
2、雖然現(xiàn)在微信QQ的覆蓋率很廣阿纤,但是裸删,啟用X5確實(shí)門檻較高。有時(shí)候啟用不了就尷尬了阵赠。
3涯塔、知乎上2015年的回答說(shuō)不支持flex布局,可能需要自己適配清蚀,具體請(qǐng)咨詢前端匕荸,參考:https://www.zhihu.com/question/30465777
4、如果你的webview里面有嵌入第三方lib包枷邪,并且第三方lib包需要你傳入webview對(duì)象榛搔。那你
webview優(yōu)點(diǎn):
1、Google Android 還將webview做為一個(gè)能動(dòng)態(tài)更新的app东揣,能不更新Android版本情況下践惑,更新WebView內(nèi)核。
2嘶卧、速度快(可能基于第一點(diǎn)所說(shuō)的背后N多工程師尔觉,以及自動(dòng)更新吧)
參考:http://blog.csdn.net/typename/article/details/40425275
系統(tǒng)內(nèi)核缺點(diǎn):
1、各個(gè)手機(jī)有可能自定定制webview芥吟,導(dǎo)致某些坑吧侦铜。
以上,僅供參考钟鸵,請(qǐng)自行測(cè)試钉稍。