Android開發小技巧之不再使用原生的WebView了
前言
先來說說Android官方的WebView的版本差異,在Android 4.4以下(不包含4.4)系統WebView底層實現是採用WebKit作為核心,而在Android 4.4及其以上Google 採用了chromium作為核心,雖然是API上面沒有什麼變化,但是卻非常的坑開發者。雖然說更換了chromium之後,是增加了對H5等的一些友好支援,但是還不夠啊,各種各樣的記憶體洩露。我也是醉了。而且這種記憶體洩露還是沒辦法解決的。
剛開始的時候啥都不懂,認為WebView這那點東西,簡單。慢慢的發現:哦,原來webView也是要清除和銷燬的啊。哦,原來是WebView內部記憶體洩露了啊,沒辦法只能將WebView放進一個單獨的程式了。我以為這樣就能解決我的問題。
誘因
當時的問題是這樣的,我們專案需要用WebView來展示一個url,裡面呢,是web版的百度地圖。結果就是IOS正常顯示,我這邊就是不行,於是我各種重寫,各種注入JS。最終還是失敗了。最後是在微信和UC中檢視這個URL,發現真神奇,竟然可以。不知道大家有沒有仔細觀察,不管是QQ還是微信,開啟URL的時候往下拉,都可以看到這樣的話”QQ瀏覽器X5核心提供技術支援”,於是我就在網上找啊找,終於找到了今天的主角”TBS騰訊瀏覽業務“。
介紹
下面來自官方的介紹
基於Android 5.0 WebView Blink核心(M37版本)適配定製優化,適配Android全部主流平臺,可以在所有Android手機上使用Blink的技術能力。TBS2.2具有更好的H5/CSS3支援和效能,視訊體驗、網頁瀏覽體驗有大幅提升,安全能力也有進一步優化。TBS2.2已經發布,將逐步在各客戶端中靜默升級,無需更新微信、手機QQ、QQ空間即可使用最新的TBS2.2Blink核心。
看到沒有,最強大的部分:
無需更新微信、手機QQ、QQ空間即可使用
雖說鵝廠比較流氓,但不得不說東西卻是很好用,而且免費,有木有。另外好像還有UC核心,好像是要收費來著,沒仔細瞭解。
使用
接入文件在官方有,就不寫了,免得有借鑑的嫌疑。不過我會在下面寫一些我自己的使用技巧。
技巧
- 在第一次用X5開啟URL的時候會很卡,而且有很明顯的卡頓。可以將demo中的初始化部分放到Application中或者服務中去搞,可以明顯提升哦。
最後
本來是不想寫這篇文章的,主要是昨天有個做java的朋友問我類似的問題,為什麼在iOS上面video標籤能夠正常播放,在Android上面就是不行,他已經調了很久的JS,谷歌都沒有解決。很明顯,他這是被甩鍋了,Andrid把鍋甩給了後臺。最後我告訴他接入這個核心,於是乎問題解決了。
作為一個開發者,拿著一個WebView,真心搞不過人家專門做瀏覽器的。
最後附上原始碼
原始碼
相關文章
- Android混合開發之WebView使用總結AndroidWebView
- Android學習之 WebView使用小結AndroidWebView
- 微信小程式開發之webview元件內網頁實現微信原生支付微信小程式WebView元件內網網頁
- Android 關於WebView的使用技巧小解AndroidWebView
- Android Webview 使用小結AndroidWebView
- Kotlin Android 開發小技巧KotlinAndroid
- 原生Android也能做Web開發了AndroidWeb
- Android開發的那些坑和小技巧Android
- iOS開發之WebViewiOSWebView
- Android混合開發之WebView與Javascript互動AndroidWebViewJavaScript
- React開發的小技巧React
- Flutter 與 Android 原生 WebView 對比FlutterAndroidWebView
- Android 原生 WebView 與 JavaScript 互動AndroidWebViewJavaScript
- Flutter 開發小技巧Flutter
- Vue開發小技巧Vue
- 開發小技巧-mockMock
- iOS 開發小技巧iOS
- 安卓開發的小技巧(2)安卓
- 安卓開發的小技巧(1)安卓
- 安卓開發的小技巧(3)安卓
- Android studio使用小技巧Android
- Android開發:系統程式中使用Webview引發異常的處理AndroidWebView
- Android開發技巧Android
- 使用uni-app開發小程式,比直接原生開發小程式好在哪裡?APP
- 開發小技巧之:unicode的排序和正則匹配Unicode排序
- Android開發之Retrofit小試牛刀Android
- iOS開發之NavBar和TarBar使用技巧iOS
- WebView深度學習(一)之WebView的基本使用以及Android和js的互動WebView深度學習AndroidJS
- Swift開發的幾個小技巧Swift
- H5在WebView上開發小結H5WebView
- 提高開發銷量小技巧
- 提高開發效率小技巧
- Java開發小技巧(一)Java
- 開發Webview的技術,小的技術知識點WebView
- 再學Android之WebViewAndroidWebView
- Android開發一點小技巧和建議獻上Android
- Android 用WebView開發簡單的瀏覽器AndroidWebView瀏覽器
- 自己開發的油價小程式 (小程式原生+laravel)Laravel