App 內打開 URL 鏈接有三種響應方式:
- 內置 WebView 組件
- Chrome Custom Tabs
- 外部瀏覽器
內置 WebView
自從 Android 4.4 (KitKat)開始,Chrome Custom Tabs 組件以遷移至基于 Chromium 開源項目歪玲,包含一個升級版的 V8 JS 引擎并支持上代 WebView 并不兼容的現(xiàn)代網(wǎng)頁標準(如 HTML5采记、Chrome DevTools 遠程調試等)衔沼。
新的 WebView 組件將從 Chrome 中共享相同的渲染引擎莉掂,因此其渲染表現(xiàn)將與 Chrome 瀏覽器更加一致觅赊。
在 Android 5.0 (Lollipop)中哑舒,WebView 組件實現(xiàn)已單獨打包到 APK 應用中足丢,通過 Play 市場獨立更新植榕,不再受系統(tǒng)版本限制再沧。
具體參考:
https://developer.chrome.com/multidevice/webview/overview
Chrome Custom Tabs
受限于 WebView 與外部瀏覽器的緩存隔離及高維護成本,Google 推出的一款基于 Chrome 45 內核的內置式瀏覽器内贮。
(需要設備安裝新版本 Chrome 應用并設為默認瀏覽器产园,否則啟用默認外部瀏覽器打開)
相對于外部瀏覽器,Chrome Custom Tabs 提供高速優(yōu)質瀏覽體驗同時夜郁,支持更多的自定義效果控制什燕,如 Toolbar 顏色、Toolbar 菜單竞端、底部工具欄及界面切換動畫屎即。
通過后臺預啟動、DNS解析事富、加載鏈接等方式技俐,Chrome Custom Tabs 能實現(xiàn)比內置 WebView 更快的頁面加載、渲染速度统台,同時支持網(wǎng)頁緩存分享至外部 Chrome 瀏覽器雕擂,如密碼存儲、自動填充贱勃、Cookies共享井赌、高危網(wǎng)站防御等功能。
使用 Chrome Custom Tabs 時贵扰,無需代碼管理請求發(fā)送仇穗、權限及 Cookie 相關內容,并支持 Android 5.0 (Lollipop)的向前兼容戚绕,可使用最新的瀏覽器特性而無需受限于系統(tǒng)內置的舊式 WebView纹坐。
具體參考:
https://developer.chrome.com/multidevice/android/customtabs
外部瀏覽器
調用外部瀏覽器支持更全面的網(wǎng)頁特性,擁有低維護成本舞丛、方便易用并支持 deep link 等功能特點耘子,但切換至外部瀏覽器將會導致較大的環(huán)境切換開銷,并可能導致應用本身被系統(tǒng)終止回收球切。