WebView の概要

公開日: 2014 年 2 月 28 日、最終更新日: 2024 年 12 月 18 日

WebView コンポーネントは、Chromium オープンソース プロジェクトをベースにしています。WebView は Android 版 Chrome と同じレンダリング エンジンを共有するため、WebView と Chrome でレンダリングが整合している必要があります。また、WebView には APK があるため、Android とは別に更新できます。

  • WebView ベースの Android アプリを開発する場合は、スタートガイドをご覧ください。
  • 主にアプリ内で外部ウェブ コンテンツを表示する場合は、代わりにカスタムタブの使用を検討してください。
  • モバイル デバイス向けに WebView コンテンツをスケーリングする方法については、WebView の Pixel-Perfect UI をご覧ください。

WebView は、Chrome DevTools を使用したリモート デバッグもサポートしています。

WebView の更新

モバイル デバイスの WebView の自動更新。アプリを将来に備えて、ベータ版 WebView を使用して、WebView のバージョンをリリース前にテストできます。

Chrome for Android と 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 は引き続きデバイスのスペースとメモリを節約するためにコードの大部分を共有しますが、2 つの個別のアプリとして表示されます。Chrome を無効にする際の特別な動作はなくなりました。

WebView は Android 版 Chrome と機能的に同等ですか?

ほとんどの場合、Android 版 Chrome で動作する機能は WebView でも動作します。

Android 7、8、9 では WebView と Google Chrome がパッケージを共有していますが、Google Chrome 固有の機能は共有していません。たとえば、WebView 内では同期とデータ節約を利用できません。

ハードウェア センサー API のサポート

一部の API を使用すると、Android デバイスのハードウェア センサーにアクセスできます。Android 版 Chrome ではこれらの API の一部がサポートされていますが、WebView で有効になっている API は一部です。

API WebView v33 WebView v55
Geolocation APIandroid.permission.ACCESS_COARSE_LOCATION 権限または android.permission.ACCESS_FINE_LOCATION 権限が必要)
Device Orientation API x
メディアのキャプチャとストリーミング x
Vibration APIandroid.permission.VIBRATE 権限が必要)

ハードウェア アクセラレーションを有効にすべきか

ハードウェア アクセラレーションはデフォルトで有効になっています。