فئة الأداء

فئة الأداء هي فئة قياسية تم طرحها لأول مرة في نظام التشغيل Android 12. تحدّد فئة الأداء مجموعة من إمكانات الجهاز التي تتجاوز متطلبات Android الأساسية.

لكل إصدار من إصدارات Android فئة الأداء المقابلة الخاصة به، والتي يتم تحديدها في مستند تعريف التوافق مع Android (CDD) لهذا الإصدار. تتحقّق مجموعة اختبار التوافق مع Android (CTS) من متطلبات CDD.

يعلن كل جهاز يعمل بنظام التشغيل Android عن فئة الأداء المتوافقة معه. يمكن للمطوّرين العثور على فئة أداء الجهاز في وقت التشغيل وتقديم تجارب تمت ترقيتها تستفيد إلى أقصى حد من إمكانات الجهاز.

للعثور على مستوى فئة أداء الجهاز، استخدِم مكتبة الأداء الأساسي في Jetpack. تعرض هذه المكتبة فئة أداء الوسائط للجهاز كما هو موضّح في معلومات إصدار الإصدار أو استنادًا إلى بيانات من خدمات Google Play.

ابدأ بإضافة تبعية للوحدات ذات الصلة في ملف Grale:

Kotlin

// Implementation of Jetpack Core library.
implementation("androidx.core:core-ktx:1.12.0")
// Enable APIs to query for device-reported performance class.
implementation("androidx.core:core-performance:1.0.0-beta02")
// Enable APIs to query Google Play Services for performance class.
implementation("androidx.core:core-performance-play-services:1.0.0-beta02")

رائع

// Implementation of Jetpack Core library.
implementation 'androidx.core:core-ktx:1.12.0'
// Enable APIs to query for device-reported performance class.
implementation 'androidx.core:core-performance:1.0.0-beta02'
// Enable APIs to query Google Play Services for performance class.
implementation 'androidx.core:core-performance-play-services:1.0.0-beta02'

Then, create an instance of a DevicePerformance implementation, such as PlayServicesDevicePerformance, in the onCreate() lifecycle event of your Application. This should only be done once in your app.

Kotlin

import androidx.core.performance.play.services.PlayServicesDevicePerformance

class MyApplication : Application() {
  lateinit var devicePerformance: DevicePerformance

  override fun onCreate() {
    // Use a class derived from the DevicePerformance interface
    devicePerformance = PlayServicesDevicePerformance(applicationContext)
  }
}

Java

import androidx.core.performance.play.services.PlayServicesDevicePerformance;

class MyApplication extends Application {
  DevicePerformance devicePerformance;

  @Override
  public void onCreate() {
    // Use a class derived from the DevicePerformance interface
    devicePerformance = new PlayServicesDevicePerformance(applicationContext);
  }
}

يمكنك بعد ذلك استرداد السمة mediaPerformanceClass لتخصيص تجربة تطبيقك استنادًا إلى إمكانات الجهاز:

Kotlin

class MyActivity : Activity() {
  private lateinit var devicePerformance: DevicePerformance
  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    // Note: Good app architecture is to use a dependency framework. See
    // https://developer.android.com/training/dependency-injection for more
    // information.
    devicePerformance = (application as MyApplication).devicePerformance
  }

  override fun onResume() {
    super.onResume()
    when {
      devicePerformance.mediaPerformanceClass >= Build.VERSION_CODES.TIRAMISU -> {
        // Performance class level 13 and later.
        // Provide the most premium experience for the highest performing devices.
      }
      devicePerformance.mediaPerformanceClass == Build.VERSION_CODES.S -> {
        // Performance class level 12.
        // Provide a high quality experience.
      }
      else -> {
        // Performance class level 11 or undefined.
        // Remove extras to keep experience functional.
      }
    }
  }
}

Java

class MyActivity extends Activity {
  private DevicePerformance devicePerformance;
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // Note: Good app architecture is to use a dependency framework. See
    // https://developer.android.com/training/dependency-injection for more
    // information.
    devicePerformance = ((MyApplication) getApplication()).devicePerformance;
  }

  @Override
  public void onResume() {
    super.onResume();
    if (devicePerformance.getMediaPerformanceClass() >= Build.VERSION_CODES.TIRAMISU) {
      // Performance class level 13 and later.
      // Provide the most premium experience for the highest performing devices.
    } else if (devicePerformance.getMediaPerformanceClass() == Build.VERSION_CODES.S) {
      // Performance class level 12.
      // Provide a high quality experience.
    } else {
      // Performance class level 11 or undefined.
      // Remove extras to keep experience functional.
    }
  }
}

فئات الأداء متوافقة مع التوجيه. يمكن لأي جهاز الترقية إلى إصدار نظام أساسي أحدث بدون تحديث فئة أدائه. على سبيل المثال، يمكن للأجهزة التي تتوافق في البداية مع فئة الأداء 12 الترقية إلى Android 13 والاستمرار في الإبلاغ عن أنّها متوافقة مع الفئة 12 إذا لم تستوفِ متطلبات الفئة 13. وهذا يعني أن فئة الأداء توفر طريقة لتجميع الأجهزة معًا بدون الاعتماد على إصدار معيّن من Android.

الشكل 1. يمكن للأجهزة ترقية إصدارات Android ومواصلة الإبلاغ عن أنّها تتوافق مع الفئة التي تتوافق معها في الأصل.

فئة الأداء 14

تعتمد فئة الأداء 14 على المتطلبات المقدمة في فئة الأداء 13. ويتم نشر المتطلبات المحدّدة لفئة الأداء في CDDD على نظام التشغيل Android. بالإضافة إلى المتطلبات المتزايدة للعناصر من فئة الأداء 13، يحدّد "CDD" المتطلبات في المجالات التالية:

الوسائط

  • إتاحة التأثير المباشر للفيلم في برامج فك ترميز أجهزة AV1
  • الملف الشخصي المرجعي لـ AVIF
  • أداء برنامج ترميز AV1
  • برامج ترميز الفيديو بنطاق عالي الديناميكية
  • تنسيق ألوان RGBA_1010102
  • عيّنة من نسيج YUV
  • جودة ترميز الفيديو
  • دمج صوت متعدد القنوات

الكاميرا

  • إضافة "الوضع الليلي"
  • كاميرا أساسية متوافقة مع النطاق العالي الديناميكية
  • وضع المشهد للتعرّف على الوجوه

عامة

  • العناصر المركّبة على الأجهزة
  • عرض نطاق عالي الديناميكية (HDR)

فئة الأداء 13

تعتمد فئة الأداء 13 على المتطلبات المقدمة في فئة الأداء 12. ويتم نشر المتطلبات المحدّدة لفئة الأداء في CDDD على نظام التشغيل Android. بالإضافة إلى المتطلبات المتزايدة للعناصر من فئة الأداء 12، يحدّد "CDD" المتطلبات في المجالات التالية:

الوسائط

  • برنامج فك ترميز أجهزة AV1
  • برامج فك ترميز الأجهزة الآمنة
  • وقت استجابة إعداد برنامج فك الترميز
  • وقت استجابة الصوت ذهابًا وإيابًا
  • سماعات الرأس السلكية وأجهزة الصوت USB
  • أجهزة MIDI
  • بيئة تنفيذ موثوقة ومستندة إلى الأجهزة

الكاميرا

  • تثبيت المعاينة
  • التسجيل بالتصوير البطيء
  • الحدّ الأدنى لنسبة التكبير أو التصغير للكاميرات ذات الصور العريضة
  • كاميرا متزامنة
  • كاميرات متعددة منطقية
  • حالة الاستخدام للبث

فئة الأداء 12

تركّز فئة الأداء 12 على حالات استخدام الوسائط. ويتم نشر المتطلبات المحدّدة لفئة الأداء في محرك البحث المخصّص لنظام التشغيل Android. يحدد مستند CDD المتطلبات في الجوانب التالية:

الوسائط

  • جلسات ترميز الفيديو المتزامنة
  • وقت استجابة إعداد برنامج الترميز
  • عدد الإطارات في برنامج فك الترميز
  • جودة الترميز

الكاميرا

  • درجة الدقة وعدد اللقطات في الثانية
  • بدء التشغيل وتسجيل أوقات الاستجابة
  • FULL أو مستوى أفضل من الأجهزة
  • مصدر الطابع الزمني هو الوقت الفعلي
  • إمكانات RAW

عامة

  • Memory
  • قراءة وكتابة الأداء
  • دقة الشاشة
  • قيمة كثافة الشاشة

فئة الأداء 11

تتضمّن فئة الأداء 11 مجموعة فرعية من متطلبات فئة الأداء 12، ما يتيح للمطوّرين توفير تجربة مخصّصة على الأجهزة السابقة التي لا تزال ذات قدرة عالية. ويتم نشر المتطلبات المحدّدة لفئة الأداء في CDD على Android.