パフォーマンス クラス

Android 12 以降、エコシステム パートナーと協力して、パフォーマンス クラスという標準を導入します。パフォーマンス クラスは、Android の基本要件を超えるデバイス機能のセットを定義します。

Android のバージョンごとに、対応する独自のパフォーマンス クラスがあります。これはそのバージョンの Android 互換性定義ドキュメント(CDD)で規定されています。Android 互換性テストスイート(CTS)で、CDD の要件を検証します。

各 Android デバイスは、サポート対象のパフォーマンス クラスを宣言します。デベロッパーは実行時にデバイスのパフォーマンス クラスをチェックし、デバイスの機能を最大限に活用するアップグレード環境を提供できます。

デバイスのメディア パフォーマンス クラスレベルを確認するには、Build.VERSION.MEDIA_PERFORMANCE_CLASS をクエリします。

if (Build.VERSION.MEDIA_PERFORMANCE_CLASS >= Build.VERSION_CODES.S) {
   // Provide the most premium experience for highest performing devices
   ...
}
else if (Build.VERSION.MEDIA_PERFORMANCE_CLASS == Build.VERSION_CODES.R)
   // Provide a high quality experience
   ...
}
else {
   // Remove extras to keep experience functional
   ...
}

パフォーマンス クラスには上位互換性があります。デバイスは、パフォーマンス クラスを更新せずに、新しいプラットフォーム バージョンにアップグレードできます。たとえば、当初パフォーマンス クラス 12 をサポートしていたデバイスを Android 13 にアップグレードし、クラス 13 の要件を満たしていない場合は引き続きクラス 12 をサポートすることを報告できます。つまり、パフォーマンス クラスを使用すると、特定の Android バージョンに依存せずにデバイスをグループ化できます。

パフォーマンス クラス 12

Android 12 では、パフォーマンス クラスはメディアのユースケースに焦点を当てています。具体的なパフォーマンス クラスの要件は、Android 12 の最初の公開リリース時、Android CDD で公開されます。次の分野の要件が規定されます。

メディア

  • 同時実行コーデック セッション
  • コーデックの起動レイテンシ
  • フレーム落ち
  • エンコードの品質

カメラ

  • 解像度
  • 起動とキャプチャのレイテンシ
  • 動画手ぶれ補正のサポート
  • HDR 画像キャプチャ

汎用

  • メモリ
  • 読み書きのパフォーマンス
  • 画面の解像度
  • 画面密度

パフォーマンス クラス 11

Android 12 のリリースと同時に、パフォーマンス クラス 11 の要件も公開されます。これは、パフォーマンス クラス 12 の要件のサブセットであり、デベロッパーは、旧式ではあっても依然として性能の高いデバイスに合わせたエクスペリエンスを提供できます。