Android 14 では、デベロッパー向けに優れた機能と API が導入されました。以下では、アプリの機能を確認し、関連する API を試すことができます。
追加、変更、削除された API の一覧については、API 差分レポートをご覧ください。追加された API について詳しくは、Android API リファレンスをご覧ください。Android 14 の場合は、API レベル 34 で追加された API をご確認ください。プラットフォームの変更がアプリに影響する領域については、Android 14 の動作変更(Android 14 をターゲットとするアプリの場合とすべてのアプリの場合)をご確認ください。
多言語対応
アプリ別の言語設定
Android 14 では、Android 13(API レベル 33)で導入されたアプリ別の言語機能が拡張され、以下の機能が追加されています。
アプリの
localeConfig
の自動生成: Android Studio Giraffe Canary 7 および AGP 8.1.0-alpha07 以降では、アプリで自動的にアプリ別の言語設定をサポートするよう設定できます。Android Gradle プラグインは、プロジェクト リソースに基づいてLocaleConfig
ファイルを生成し、そのファイルへの参照を最終マニフェスト ファイルに追加します。そのため、手動でファイルを作成または更新する必要はありません。AGP は、アプリ モジュールのres
フォルダ内のリソースと、ライブラリ モジュールの依存関係を使用して、LocaleConfig
ファイルに含めるロケールを決定します。アプリの
localeConfig
の動的アップデート:LocaleManager
のsetOverrideLocaleConfig()
メソッドとgetOverrideLocaleConfig()
メソッドを使用して、デバイスのシステム設定にある、アプリでサポートされる言語のリストを動的にアップデートします。この柔軟性を利用して、サポートされる言語のリストを地域ごとにカスタマイズしたり、A/B テストを実施したりできます。また、アプリがローカライズのためにサーバー側の push を使用する場合は、更新されたロケールのリストを提供できます。インプット メソッド エディタ(IME)によるアプリの言語の確認: IME は
getApplicationLocales()
メソッドを使用して現在のアプリの言語を確認し、IME 言語をその言語と一致させます。
Grammatical Inflection API
30 億人もの人々が、性別で文法が変わる言語を話します。こうした言語では、話す相手、または言及する人や物の性別に応じて、各文法範疇(名詞、動詞、形容詞、前置詞など)の語形が変化します。伝統的に、性別で文法が変わる多くの言語では、男性形をデフォルトまたは汎用の性別として使用しています。
女性を男性形で呼ぶなど、ユーザーに対して不適切な文法的性を使用すると、そのユーザーのパフォーマンスと態度に悪影響を及ぼす可能性があります。一方、ユーザーの文法的性を適切に反映した言語を使用して UI を作成すると、ユーザー エンゲージメントが向上し、より自然でパーソナライズされたユーザー エクスペリエンスを提供できます。
Android 14 では、性別で文法が変わる言語に合わせてユーザー中心の UI を構築するため、アプリをリファクタリングせずに文法上の性別への対応を追加できる Grammatical Inflection API が導入されています。
地域の設定
地域の設定を使用すると、ユーザーは温度単位、週の最初の曜日、番号体系をカスタマイズできます。米国に住んでいる欧州のユーザーの場合、温度の単位は華氏ではなく摂氏で表示し、アプリで週の始まりを米国のデフォルトの日曜日ではなく月曜日に指定することを好む可能性があります。
Android の新しい設定メニューは見つけやすく、ユーザーはここでアプリのそうした設定を一元的に変更できます。これらの設定は、バックアップや復元を行った場合も保持されます。複数の API とインテント(getTemperatureUnit
や getFirstDayOfWeek
など)により、アプリにそうしたユーザー設定への読み取りアクセス権を付与することで、アプリでの情報の表示方法を調整できます。また、ACTION_LOCALE_CHANGED
に BroadcastReceiver
を登録して、地域の設定が変更されたときに言語 / 地域の構成の変更を処理することも可能です。
これらの設定を確認するには、設定アプリを開いて [システム] > [言語と入力] > [地域の設定] に移動します。


ユーザー補助
非線形フォント スケーリングを 200% にする
Android 14 以降では、フォント スケーリングが 200% までサポートされます。これにより、ロービジョンのユーザーは、Web Content Accessibility Guidelines(WCAG)に準拠した追加のユーザー補助オプションを利用できます。
画面上の大きいテキスト要素が拡大しすぎないように、システムでは非線形のスケーリング曲線が適用されます。このスケーリング戦略では、大きいテキストが小さいテキストとは異なる率でスケーリングされます。非線形フォント スケーリングにより、さまざまなサイズの要素間の比例階層を維持しながら、線形テキスト スケーリングの高度な問題(テキストが途切れる、表示サイズが大きすぎて文字が読みづらくなるなど)を軽減できます。
非線形フォント スケーリングでアプリをテストする

すでにスケール非依存ピクセル(sp)単位を使用してテキストのサイズを定義している場合は、これらの追加オプションとスケーリングの改善がアプリ内のテキストに自動的に適用されます。ただし、最大フォントサイズを有効にして(200%)、UI テストを実施し、アプリがフォントサイズを正しく適用し、ユーザビリティに影響を与えることなく大きなフォントサイズに対応できることを確認する必要があります。
200% のフォントサイズを有効にする手順は次のとおりです。
- 設定アプリを開き、[ユーザー補助] > [表示サイズとテキスト] に移動します。
- [フォントサイズ] オプションでは、最大フォントサイズの設定が有効になるまで、プラス(+)アイコンをタップします(このセクションに表示される画像で確認できます)。
テキストサイズにはスケール非依存ピクセル(sp)単位を使用する
テキストサイズは必ず sp 単位で指定してください。日時 アプリが sp 単位を使用している場合、Android はユーザーが指定したテキストサイズと 適切にスケーリングする必要があります。
パディングに sp 単位を使用したり、暗黙的なパディングを前提としてビューの高さを定義したりしないでください。 非線形フォント スケーリングの場合、sp の寸法は比例しない場合があるため、4sp + 20sp と 24sp は異なる場合があります。
スケール非依存ピクセル(sp)単位を変換する
sp 単位からピクセルに変換するには TypedValue.applyDimension()
を、ピクセルを sp に変換するには TypedValue.deriveDimension()
を使用します。これらのメソッドでは、適切な非線形スケーリング曲線が自動的に適用されます。
Configuration.fontScale
または DisplayMetrics.scaledDensity
を使用して方程式をハードコードしないでください。フォントのスケーリングが非線形であるため、scaledDensity
フィールドは正確ではありません。fontScale
フォントは廃止されたため、情報提供のみを目的として使用してください。
単一のスカラー値でスケーリングされます。
lineHeight には sp 単位を使用する
行の高さがテキストに合わせてスケーリングされるように、android:lineHeight
は常に dp ではなく sp 単位で定義してください。テキスト メッセージに
sp は sp ですが、lineHeight
は dp または px で表示されます。拡大縮小されず、表示がきれいに見えます。
TextView は、textSize
と lineHeight
の両方が sp 単位で定義されている場合にのみ、意図した比率が維持されるように lineHeight
を自動的に修正します。
カメラとメディア
画像のウルトラ HDR

Android 14 新增了对高动态范围 (HDR) 图片的支持,可在拍摄照片时保留更多来自传感器的信息,从而实现鲜艳的色彩和更高的对比度。Android 使用 Ultra HDR 格式,该格式与 JPEG 图片完全向后兼容,可让应用与 HDR 图片无缝互操作,并根据需要以标准动态范围 (SDR) 显示这些图片。
当您的应用选择为其 activity 窗口使用 HDR 界面(通过清单条目或通过在运行时调用 Window.setColorMode()
)时,框架会自动在界面中以 HDR 格式渲染这些图片。您还可以在受支持的设备上拍摄压缩的 Ultra HDR 静态图片。从传感器中恢复的颜色越多,后期编辑的灵活性就越高。与 Ultra HDR 图片关联的 Gainmap
可用于使用 OpenGL 或 Vulkan 渲染这些图片。
カメラ拡張機能のズーム、フォーカス、ポストビューなど
Android 14 升级并改进了相机扩展程序,让应用能够处理更长的处理时间,从而支持在受支持的设备上使用计算密集型算法(例如弱光摄影)来改善图片。这些功能可让用户在使用相机扩展功能时获得更出色的体验。这些改进的示例包括:
- 动态静态拍摄处理延迟时间估算功能可根据当前场景和环境条件提供更准确的静态拍摄延迟时间估算值。调用
CameraExtensionSession.getRealtimeStillCaptureLatency()
可获取具有两种延迟时间估算方法的StillCaptureLatency
对象。getCaptureLatency()
方法会返回onCaptureStarted
和onCaptureProcessStarted()
之间的估算延迟时间,而getProcessingLatency()
方法会返回onCaptureProcessStarted()
和可用的最终处理帧之间的估算延迟时间。 - 支持拍摄进度回调,以便应用可以显示长时间运行的静态拍摄处理操作的当前进度。您可以检查
CameraExtensionCharacteristics.isCaptureProcessProgressAvailable
是否支持此功能,如果支持,则实现onCaptureProcessProgressed()
回调,并将进度(从 0 到 100)作为参数传入。 扩展程序专用元数据,例如用于调节扩展程序效果(例如背景虚化程度)的
CaptureRequest.EXTENSION_STRENGTH
和EXTENSION_BOKEH
。相机扩展程序中的静态图片拍摄预览功能,该功能比最终图片更快地提供经过较少处理的图片。如果扩展程序的处理延迟时间增加,可以提供 postview 图片作为占位符以提升用户体验,并在稍后改用最终图片。您可以使用
CameraExtensionCharacteristics.isPostviewAvailable
检查此功能是否可用。然后,您可以将OutputConfiguration
传递给ExtensionSessionConfiguration.setPostviewOutputConfiguration
。支持
SurfaceView
,可实现更优化且能效更高的预览渲染路径。支持在使用扩展程序时点按对焦和缩放。
センサー内ズーム
CameraCharacteristics
の REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASE
に SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW
が含まれている場合、アプリは高度なセンサー機能を使用して、ストリームのユースケースが CameraMetadata.SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW
に設定されている RAW ターゲットで CaptureRequest
を使用して、切り抜き RAW ストリームに全画角と同じピクセルを設定できます。リクエスト オーバーライド コントロールを実装することで、更新されたカメラでは、他のカメラ コントロールの準備が整う前にユーザーがズームを操作できるようになります。
ロスレス USB オーディオ
Android 14 支持无损音频格式,可通过 USB 有线耳机提供发烧友级体验。您可以查询 USB 设备的首选混音器属性,注册监听器以监听首选混音器属性的更改,以及使用 AudioMixerAttributes
类配置混音器属性。此类表示音频混音器的格式,例如声道掩码、采样率和行为。该类允许直接发送音频,而无需混音、调节音量或处理效果。
デベロッパーの生産性とツール
認証情報マネージャー
Android 14 では、プラットフォーム API として 認証情報マネージャーが追加され、Google Play 開発者サービスを使用する Jetpack ライブラリを介して Android 4.4(API レベル 19)デバイスまでサポートが拡張されています。認証情報マネージャーは、ユーザーが構成した認証情報プロバイダを使用して認証情報を取得して保存する API を使用して、ユーザーのログインを容易にすることを目的としています。認証情報マネージャーは、ユーザー名とパスワード、パスキー、フェデレーション ログイン ソリューション(Google でログインなど)といった複数のログイン方法を単一の API でサポートしています。
パスキーには多くのメリットがあります。たとえば、パスキーは業界標準に基づいて構築されており、さまざまなオペレーティング システムやブラウザのエコシステムで動作し、ウェブサイトとアプリの両方で使用できます。
詳細については、認証情報マネージャーとパスキーのドキュメントと、認証情報マネージャーとパスキーに関するブログ投稿をご覧ください。
ヘルスコネクト
ヘルスコネクトは、ユーザーの健康とフィットネスに関するデータのデバイス上のリポジトリです。ユーザーは、お気に入りのアプリ間でデータを共有し、これらのアプリと共有するデータを 1 か所で管理できます。
Android 14 より前の Android バージョンを搭載したデバイスでは、ヘルスコネクトを Google Play ストアからアプリとしてダウンロードできます。Android 14 以降では、ヘルスコネクトはプラットフォームの一部となり、個別のダウンロードを必要とせずに Google Play システム アップデートを通じてアップデートを受け取ります。これにより、ヘルスコネクトを頻繁に更新でき、アプリは Android 14 以降を搭載したデバイスでヘルスコネクトを利用できます。ユーザーはデバイスの設定からヘルスコネクトにアクセスできます。プライバシー管理はシステム設定に統合されています。


ヘルスコネクトには、Android 14 の新機能がいくつか含まれています。たとえば、エクササイズ ルートを使用すると、ユーザーはワークアウトのルートを共有し、地図上に可視化できます。ルートは、一定の期間内に保存された位置情報のリストとして定義されます。アプリは、エクササイズ セッションにルートを挿入して、それらを関連付けることができます。ユーザーがこの機密データを完全に管理できるようにするには、ユーザーが個々のルートを他のアプリと共有することを許可する必要があります。
詳しくは、ヘルスコネクトのドキュメントと、Android ヘルスの新機能に関するブログ投稿をご覧ください。
OpenJDK 17 の更新
Android 14 将继续更新 Android 的核心库,以与最新 OpenJDK LTS 版本中的功能保持一致,包括适合应用和平台开发者的库更新和 Java 17 语言支持。
其中包含以下功能和改进:
- 将大约 300 个
java.base
类更新为支持 Java 17。 - 文本块 - 为 Java 编程语言引入了多行字符串字面量。
- instanceof 模式匹配:可让对象在
instanceof
中被视为具有特定类型,而无需任何额外的变量。 - 密封类:允许您限制哪些类和接口可以扩展或实现它们。
得益于 Google Play 系统更新 (Project Mainline),6 亿多台设备能够接收包含这些更改的最新 Android 运行时 (ART) 更新。我们致力于为应用提供更加一致、安全的跨设备环境,并为用户提供独立于平台版本的新功能。
Java 和 OpenJDK 是 Oracle 及/或其关联公司的商标或注册商标。
アプリストアの改善
Android 14 では、アプリストアでのユーザー エクスペリエンスを改善するための PackageInstaller
API がいくつか導入されています。
ダウンロードする前にインストールの承認をリクエストする
アプリをインストールまたは更新する際に、ユーザーの承認が必要になる場合があります。たとえば、REQUEST_INSTALL_PACKAGES
権限を使用するインストーラが新しいアプリをインストールしようとした場合などです。以前のバージョンの Android では、APK がインストール セッションに書き込まれ、セッションが commit された後にのみ、アプリストアはユーザーの承認をリクエストできました。
Android 14 以降では、requestUserPreapproval()
メソッドを使用して、インストール セッションを commit する前に、ユーザーの承認をリクエストできます。この改善により、ユーザーがインストールを承認するまで、アプリストアで APK のダウンロードが延期されます。さらに、ユーザーがインストールを承認すると、アプリストアはユーザーの作業を妨げることなく、バックグラウンドでアプリをダウンロードしてインストールできます。
今後の更新に責任を持つことを示す
setRequestUpdateOwnership()
メソッドを使用すると、インストーラはインストールしているアプリの今後の更新に責任を持つことをシステムに示すことができます。この機能により、更新の所有権の適用が有効になります。つまり、更新の所有者のみがアプリに自動更新をインストールできます。更新の所有権を適用することで、ユーザーは想定されるアプリストアからのみ更新を受け取ることができます。
その他のインストーラ(INSTALL_PACKAGES
権限を利用するものを含む)は、更新をインストールするために、ユーザーの明示的な承認を得る必要があります。ユーザーが別のソースから更新を進めた場合、更新の所有権は失われます。
影響が少ないタイミングでアプリを更新する
アプリストアは通常、アクティブに使用されているアプリを更新することはありません。これは、アプリの実行中のプロセスが強制終了され、ユーザーの操作が中断される可能性があるためです。
Android 14 以降では、InstallConstraints
API を使用することで、インストーラはアプリの更新を適切なタイミングで行えます。たとえば、アプリストアで commitSessionAfterInstallConstraintsAreMet()
メソッドを呼び出して、ユーザーがそのアプリを操作しなくなったときにのみ更新が commit されるようにできます。
オプションの分割をシームレスにインストールする
分割 APK を使用すると、アプリの機能をモノリシック APK としてではなく、別々の APK ファイルで配信できます。これにより、アプリストアでさまざまなアプリ コンポーネントの配信を最適化できます。たとえば、アプリストアは、ターゲット デバイスのプロパティに基づいて最適化できます。PackageInstaller
API は、API レベル 22 で導入されて以来、分割をサポートしています。
Android 14 では、setDontKillApp()
メソッドを使用して、新しい分割がインストールされたときに、アプリの実行中のプロセスを強制終了すべきでないことを示せます。アプリストアでは、この機能を使用して、ユーザーがアプリを使用しているときに、アプリの新しい機能をシームレスにインストールできます。
アプリのメタデータ バンドル
Android 14 以降では、Android パッケージ インストーラを使用して、Google Play などのアプリストア ページにデータ セーフティ方針などのアプリのメタデータを指定できます。
ユーザーがデバイスのスクリーンショットを撮影したときに検出する
Android 14 では、スクリーンショットの検出の標準化されたエクスペリエンスを実現するため、プライバシーを保護するスクリーンショット検出 API が導入されました。この API を使用すると、アプリはアクティビティごとにコールバックを登録できます。アクティビティが表示されている間にユーザーがスクリーンショットを撮ると、これらのコールバックが呼び出され、ユーザーに通知されます。
ユーザー エクスペリエンス
共有シートのカスタム アクションとランキングの改善
Android 14 更新了系统 Sharesheet,以便为用户提供自定义应用操作和信息更丰富的预览结果。
添加自定义操作
对于 Android 14,您的应用可以向其调用的系统 Sharesheet 添加自定义操作。

提高直接共享目标的排名
Android 14 根据来自应用的更多信号来确定直接共享目标的排名,以便为用户提供更实用的结果。为了提供最实用的排名信号,请遵循提高直接共享目标排名的准则。通讯应用还可以报告出站和入站消息的快捷方式使用情况。

予測型「戻る」の組み込みアニメーションとカスタム アニメーションのサポート
Android 13 では、開発者向けオプションの背後に予測型「戻る」アニメーションが導入されました。開発者向けオプションが有効になっているサポート対象アプリで使用すると、後方にスワイプすると、戻るジェスチャーでアプリが終了してホーム画面に戻ることを示すアニメーションが表示されます。
Android 14 では、予測型「戻る」機能の改善が複数行われ、新しいガイダンスが追加されています。
android:enableOnBackInvokedCallback=true
を設定すると、アプリ全体ではなくアクティビティごとに、予測型「戻る」システム アニメーションを有効にできます。- Android 13 の「ホームに戻る」アニメーションに伴い、新しいシステム アニメーションが追加されました。新しいシステム アニメーションはアクティビティ間およびタスク間で動作し、予測型「戻る」に移行すると自動的に適用されます。
- ボトムシート、サイドシート、検索に新しいマテリアル コンポーネント アニメーションを追加しました。
- カスタムのアプリ内アニメーションと遷移を作成する際の設計ガイダンスを作成しました。
- カスタムのアプリ内遷移アニメーションをサポートする新しい API が追加されました。
handleOnBackStarted
、handleOnBackProgressed
、handleOnBackCancelled
in
OnBackPressedCallback
onBackStarted
、onBackProgressed
、onBackCancelled
in
OnBackAnimationCallback
- ユーザーが後方にスワイプしたときに遷移を再生するには、
overridePendingTransition
ではなくoverrideActivityTransition
を使用します。
この Android 14 プレビュー リリースでは、予測型「戻る」のすべての機能は開発者向けオプションに引き続き隠されています。アプリを予測型「戻る」に移行するデベロッパー ガイドと、カスタム アプリ内遷移を作成するデベロッパー ガイドをご覧ください。
大画面デバイスのメーカーによるアプリごとのオーバーライド
借助按应用替换项,设备制造商可以更改应用在大屏设备上的行为。例如,FORCE_RESIZE_APP
替换项会指示系统调整应用大小以适应显示屏尺寸(避免进入尺寸兼容模式),即使在应用清单中设置了 resizeableActivity="false"
也是如此。
替换项旨在改善大屏设备上的用户体验。
借助新的清单属性,您可以为应用停用某些设备制造商替换项。
大画面ユーザーのアプリごとのオーバーライド
Per-app overrides change the behavior of apps on large screen devices. For example, the OVERRIDE_MIN_ASPECT_RATIO_LARGE
device manufacturer override sets the app aspect ratio to 16:9 regardless of the app's configuration.
Android 14 QPR1 enables users to apply per‑app overrides by means of a new settings menu on large screen devices.
アプリの画面共有
アプリ画面共有を使用すると、画面コンテンツの録画中にデバイスの画面全体ではなく、アプリ ウィンドウを共有できます。
アプリの画面共有では、ステータスバー、ナビゲーション バー、通知などのシステム UI 要素は共有ディスプレイから除外されます。選択したアプリのコンテンツのみが共有されます。
アプリの画面共有では、ユーザーが複数のアプリを実行しながら、コンテンツの共有を 1 つのアプリに制限できるため、生産性とプライバシーが向上します。
Google Pixel 8 Pro の Gboard の LLM を活用したスマート リプライ
On Pixel 8 Pro devices with the December Feature Drop, developers can try out higher-quality smart replies in Gboard powered by on-device Large Language Models (LLMs) running on Google Tensor.
This feature is available as a limited preview for US English in WhatsApp, Line, and KakaoTalk. It requires using a Pixel 8 Pro device with Gboard as your keyboard.
To try it out, first enable the feature in Settings > Developer Options > AiCore Settings > Enable Aicore Persistent.
Next, open a conversation in a supported app to see LLM-powered Smart Reply in Gboard's suggestion strip in response to incoming messages.
グラフィック
パスのクエリと補間に対応
Android 的 Path
API 是一种强大且灵活的机制,可用于创建和渲染矢量图形,能够描边或填充路径、根据线段或二次曲线或立方曲线构建路径、执行布尔运算以获取更复杂的形状,或同时执行所有这些操作。但有一个限制是,您无法了解 Path 对象中实际包含的内容;该对象的内部信息在创建后对调用方是不透明的。
如需创建 Path
,您可以调用 moveTo()
、lineTo()
和 cubicTo()
等方法来添加路径段。但是,无法询问该路径有哪些片段,因此您必须在创建时保留该信息。
从 Android 14 开始,您可以查询路径以了解其内部内容。首先,您需要使用 Path.getPathIterator
API 获取 PathIterator
对象:
Kotlin
val path = Path().apply { moveTo(1.0f, 1.0f) lineTo(2.0f, 2.0f) close() } val pathIterator = path.pathIterator
Java
Path path = new Path(); path.moveTo(1.0F, 1.0F); path.lineTo(2.0F, 2.0F); path.close(); PathIterator pathIterator = path.getPathIterator();
接下来,您可以调用 PathIterator
逐个遍历片段,并检索每个片段的所有必要数据。以下示例使用了 PathIterator.Segment
对象,它会为您打包数据:
Kotlin
for (segment in pathIterator) { println("segment: ${segment.verb}, ${segment.points}") }
Java
while (pathIterator.hasNext()) { PathIterator.Segment segment = pathIterator.next(); Log.i(LOG_TAG, "segment: " + segment.getVerb() + ", " + segment.getPoints()); }
PathIterator
还有一个非分配版 next()
,您可以在其中传入缓冲区来保存点数据。
查询 Path
数据的一个重要用例是插值。例如,您可能想在两个不同的路径之间添加动画(或变形)。为了进一步简化该用例,Android 14 针对 Path
还包含 interpolate()
方法。假设两个路径具有相同的内部结构,interpolate()
方法会使用该插值结果创建一个新的 Path
。以下示例返回了一个形状介于 path
和 otherPath
之间的一半(线性插值为 0.5)的路径:
Kotlin
val interpolatedResult = Path() if (path.isInterpolatable(otherPath)) { path.interpolate(otherPath, .5f, interpolatedResult) }
Java
Path interpolatedResult = new Path(); if (path.isInterpolatable(otherPath)) { path.interpolate(otherPath, 0.5F, interpolatedResult); }
Jetpack graphics-path 库也为早期版本的 Android 启用了类似的 API。
頂点シェーダーとフラグメント シェーダーを使用したカスタムメッシュ
Android では長い間、カスタム シェーディングによる三角形メッシュの描画をサポートしてきましたが、入力メッシュ形式は、事前定義された属性の組み合わせに限定されていました。Android 14 では、カスタムメッシュのサポートが追加されました。これは、三角形または三角形ストリップとして定義でき、必要に応じてインデックスを付けることができます。これらのメッシュは、カスタム属性、頂点ストライド、変化、AGSL で記述された頂点シェーダーとフラグメント シェーダーで指定されます。
頂点シェーダーは位置や色などの変化を定義しますが、フラグメント シェーダーは、通常は頂点シェーダーによって作成された変化を使用して、ピクセルの色を定義することもできます。フラグメント シェーダーによって色が指定されている場合は、メッシュの描画時に選択されたブレンドモードを使用して、現在の Paint
色とブレンドされます。ユニフォームをフラグメント シェーダーと頂点シェーダーに渡して柔軟性を高めることができます。
Canvas のハードウェア バッファ レンダラ
协助使用 Android 的 Canvas
API 通过
硬件加速至 HardwareBuffer
、Android 14
引入了 HardwareBufferRenderer
。如果您的用例涉及通过 SurfaceControl
与系统合成器通信以实现低延迟绘制,此 API 特别有用。