发布时间:2014 年 2 月 28 日;上次更新时间:2024 年 12 月 18 日
WebView 组件基于 Chromium 开源项目。WebView 与 Android 版 Chrome 共用相同的渲染引擎,因此 WebView 和 Chrome 之间的渲染应保持一致。此外,WebView 具有 APK,因此可以单独更新,而无需更新 Android。
- 如果您想开发基于 WebView 的 Android 应用,请参阅入门指南。
- 如果您主要计划在应用内显示外部网络内容,则应改用自定义标签页。
- 如需有关针对移动设备缩放 WebView 内容的提示,请参阅 WebView 中的精美像素风格界面。
WebView 还支持使用 Chrome 开发者工具进行远程调试。
WebView 更新
移动设备的 WebView 自动更新。为确保应用能够适应未来的发展,您可以在 Beta 版 WebView 发布之前使用该版本测试 WebView。
Android 版 Chrome 和 WebView
WebView 基于开源 Chromium 项目构建,但不会与 Google Chrome 共享数据。
在 Android 7 (Nougat)、8 (Oreo) 和 9 (Pie) 中,WebView 内置于 Chrome 中。由于它们共享大量底层代码,因此可节省设备上的空间和内存。不过,Chrome 和 WebView 不会共享任何数据。您可以随时停用 Google Chrome,WebView 将切换到与 Chrome 不搭配使用的独立版本。
在 Android 10 (Q) 中,WebView 和 Chrome 仍共用大部分代码,以节省设备上的空间和内存,但现在显示为两个单独的应用。停用 Chrome 时不再有任何特殊行为。
WebView 是否与 Android 版 Chrome 具有相同的功能?
在大多数情况下,适用于 Android 版 Chrome 的功能也适用于 WebView。
虽然 WebView 和 Google Chrome 在 Android 7、8 和 9 中共用一个软件包,但它们不共用 Google Chrome 专用功能。例如,WebView 中不支持同步和数据流量保存功能。
硬件传感器 API 支持
某些 API 可用于访问 Android 设备上的硬件传感器。Android 版 Chrome 支持其中一些 API,但并非所有这些 API 都已在 WebView 中启用。
API | WebView v33 | WebView v55 |
---|---|---|
Geolocation API(需要 android.permission.ACCESS_COARSE_LOCATION 或 android.permission.ACCESS_FINE_LOCATION 权限) |
✓ | ✓ |
Device Orientation API | x | ✓ |
媒体捕获和串流 | x | ✓ |
振动 API(需要 android.permission.VIBRATE 权限) |
✓ | ✓ |
我是否应启用硬件加速?
硬件加速默认处于启用状态。