【Android】Chrome & WebView

App 内打开 URL 链接有三种响应方式:

  • 内置 WebView 组件
  • Chrome Custom Tabs
  • 外部浏览器

内置 WebView

自从 Android 4.4 (KitKat)开始,Chrome Custom Tabs 组件以迁移至基于 Chromium 开源项目,包含一个升级版的 V8 JS 引擎并支持上代 WebView 并不兼容的现代网页标准(如 HTML5、Chrome DevTools 远程调试等)。

新的 WebView 组件将从 Chrome 中共享相同的渲染引擎,因此其渲染表现将与 Chrome 浏览器更加一致。

在 Android 5.0 (Lollipop)中,WebView 组件实现已单独打包到 APK 应用中,通过 Play 市场独立更新,不再受系统版本限制。

具体参考:
https://developer.chrome.com/multidevice/webview/overview


Chrome Custom Tabs

受限于 WebView 与外部浏览器的缓存隔离及高维护成本,Google 推出的一款基于 Chrome 45 内核的内置式浏览器。

(需要设备安装新版本 Chrome 应用并设为默认浏览器,否则启用默认外部浏览器打开)

相对于外部浏览器,Chrome Custom Tabs 提供高速优质浏览体验同时,支持更多的自定义效果控制,如 Toolbar 颜色、Toolbar 菜单、底部工具栏及界面切换动画。

通过后台预启动、DNS解析、加载链接等方式,Chrome Custom Tabs 能实现比内置 WebView 更快的页面加载、渲染速度,同时支持网页缓存分享至外部 Chrome 浏览器,如密码存储、自动填充、Cookies共享、高危网站防御等功能。

使用 Chrome Custom Tabs 时,无需代码管理请求发送、权限及 Cookie 相关内容,并支持 Android 5.0 (Lollipop)的向前兼容,可使用最新的浏览器特性而无需受限于系统内置的旧式 WebView。

具体参考:
https://developer.chrome.com/multidevice/android/customtabs


外部浏览器

调用外部浏览器支持更全面的网页特性,拥有低维护成本、方便易用并支持 deep link 等功能特点,但切换至外部浏览器将会导致较大的环境切换开销,并可能导致应用本身被系统终止回收。

你可能感兴趣的:(【Android】Chrome & WebView)