轉(zhuǎn)自http://www.reibang.com/p/e75fa22c7f06
如官網(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é)論:
- 如果手機(jī)上未安裝微信祷愉,手Q或者QQ瀏覽器。第三方接入X5應(yīng)用會(huì)自己去下載X5內(nèi)核赦颇,并在應(yīng)用重啟后啟用二鳄。
- 如果手機(jī)上安裝了手Q或者微信或者瀏覽器。則會(huì)去尋找共享的X5內(nèi)核媒怯,而不會(huì)自己下載新X5內(nèi)核订讼。
- 如果手Q或者微信沒(méi)打開(kāi)過(guò)網(wǎng)頁(yè),則內(nèi)核還是不會(huì)啟用扇苞。需要手動(dòng)點(diǎn)開(kāi)網(wǎng)頁(yè)先欺殿。
- 如果你應(yīng)用依賴的是手Q的內(nèi)核,在手Q被卸載掉之后鳖敷,應(yīng)用會(huì)去尋找其他共享X5內(nèi)核脖苏。走第2步
- 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有集成鞭盟,按照我上面寫(xiě)的那個(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é):
- 一個(gè)鏈接的第一次的加載webview會(huì)比x5速度快一點(diǎn)株憾。
- 如果重復(fù)點(diǎn)擊一個(gè)鏈接,來(lái)回切換晒衩,只要次數(shù)足夠多嗤瞎,X5速度會(huì)比webview快。
- 如果點(diǎn)擊不同鏈接听系,并且次數(shù)不是很多贝奇,webview會(huì)比x5速度快。
是否使用X5總結(jié):
X5優(yōu)點(diǎn):
- 如官方視頻展示靠胜,X5的視頻會(huì)比chrome流暢弃秆。
- 如官方所說(shuō)届惋,穩(wěn)定性可能更穩(wěn)一點(diǎn)髓帽。
- 如上測(cè)試結(jié)果菠赚,如果一個(gè)鏈接點(diǎn)擊的次數(shù)足夠多,那么速度會(huì)快一點(diǎn)郑藏。
X5缺點(diǎn):
- 如上衡查,我自己手機(jī)的測(cè)試,以及公司其他手機(jī)的測(cè)試必盖,速度都會(huì)慢一點(diǎn)拌牲。
- 雖然現(xiàn)在微信QQ的覆蓋率很廣,但是歌粥,啟用X5確實(shí)門(mén)檻較高塌忽。有時(shí)候啟用不了就尷尬了。
- 知乎上2015年的回答說(shuō)不支持flex布局失驶,可能需要自己適配土居,具體請(qǐng)咨詢前端,參考:https://www.zhihu.com/question/30465777
- 如果你的webview里面有嵌入第三方lib包嬉探,并且第三方lib包需要你傳入webview對(duì)象擦耀。
webview優(yōu)點(diǎn):
Google Android 還將webview做為一個(gè)能動(dòng)態(tài)更新的app,能不更新Android版本情況下涩堤,更新WebView內(nèi)核眷蜓。
速度快(可能基于第一點(diǎn)所說(shuō)的背后N多工程師,以及自動(dòng)更新吧)
參考:http://blog.csdn.net/typename/article/details/40425275
系統(tǒng)內(nèi)核缺點(diǎn):
- 各個(gè)手機(jī)有可能自定定制webview胎围,導(dǎo)致某些坑吧吁系。
以上,僅供參考白魂,請(qǐng)自行測(cè)試汽纤。