فئة الأداء هي معيار تم تقديمه لأول مرة في Android 12. تحدِّد فئة الأداء مجموعة من إمكانات الجهاز التي تتجاوز متطلبات المستوى الأساسي لنظام Android.
يرتبط كل إصدار من Android بفئة الأداء المقابلة له، والتي يتم تحديدها في مستند تعريف التوافق مع Android (CDD) الخاص بهذا الإصدار. تتحقّق مجموعة اختبار التوافق (CTS) لنظام التشغيل Android من متطلبات CDD.
يُعلن كل جهاز Android عن فئة الأداء التي يتوافق معها. يمكن للمطوّرين العثور على فئة أداء الجهاز أثناء التشغيل وتقديم تجارب محسّنة تستفيد إلى أقصى حد من إمكانات الجهاز.
للعثور على مستوى فئة أداء الجهاز، استخدِم مكتبة Core Performance في Jetpack. تُبلغ هذه المكتبة عن مستوى فئة أداء الوسائط (MPC) للجهاز كما هو موضّح في معلومات إصدار الإصدار أو استنادًا إلى بيانات من "خدمات Google Play".
ابدأ بإضافة عنصر ربط للوحدات ذات الصلة في ملف gradle:
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") // Enable APIs to query Google Play services for performance class. implementation("androidx.core:core-performance-play-services:1.0.0")
رائع
// 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' // Enable APIs to query Google Play services for performance class. implementation 'androidx.core:core-performance-play-services:1.0.0'
بعد ذلك، أنشئ مثيلًا لتنفيذ
DevicePerformance
، مثل
PlayServicesDevicePerformance
،
في حدث onCreate()
لنشاطك التجاري على Application
. يجب تنفيذ ذلك
مرة واحدة فقط في تطبيقك.
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.VANILLA_ICE_CREAM -> { // MPC level 35 and later. // Provide the most premium experience for the highest performing devices. } devicePerformance.mediaPerformanceClass == Build.VERSION_CODES.UPSIDE_DOWN_CAKE -> { // MPC level 34. // Provide a high quality experience. } else -> { // MPC level 33, 31, 30, 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.VANILLA_ICE_CREAM) { // MPC level 35 and later. // Provide the most premium experience for the highest performing devices. } else if (devicePerformance.getMediaPerformanceClass() == Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { // MPC level 34. // Provide a high quality experience. } else { // MPC level 33, 31, 30, or undefined. // Remove extras to keep experience functional. } } }
إنّ مستويات فئة الأداء متوافقة مع الإصدارات المستقبلية. يمكن ترقية جهاز إلى إصدار قاعدة برمجية أحدث بدون تعديل فئة الأداء. على سبيل المثال، يمكن للجهاز الذي يتوافق في البداية مع فئة الأداء 33 الترقية إلى Android 14 ويواصل الإبلاغ عن توافقه مع فئة الأداء 33 إذا لم يستوفِ متطلبات فئة الأداء 34. يتيح ذلك تجميع الأجهزة معًا بدون الاعتماد على إصدار معيّن من Android.
فئة أداء الوسائط 35
تم طرح الإصدار 35 من معيار MPC في Android 15، وهو يستند إلى المتطلبات التي تم طرحها في الإصدار 34 من معيار MPC. يتم تحديد متطلبات MPC 35 في CDD لنظام التشغيل Android 15. بالإضافة إلى المتطلبات المتزايدة للعناصر من MPC 34، تحدّد CDD المتطلبات في المجالات التالية:
الوسائط
- تأخُّر فك ترميز الإطارات
- تعديل الصور بنطاق عالي الديناميكية (HDR)
- جوانب الألوان الديناميكية
- نسبة العرض إلى الارتفاع في الوضع العمودي
الكاميرا
- JPEG_R
- تثبيت الصورة أثناء المعاينة
الرسومات
- إضافات EGL
- بنية Vulkan
فئة أداء الوسائط 34
تم طرح MPC 34 في الإصدار 14 من نظام التشغيل Android، وهو يستند إلى المتطلبات التي تم طرحها في MPC 33. يتم تحديد متطلبات MPC 34 الخاصة في CDD لنظام التشغيل Android 14. بالإضافة إلى المتطلبات المتزايدة للعناصر من MPC 33، تحدّد CDD المتطلبات في المجالات التالية:
الوسائط
- إتاحة تأثير حبيبات الفيلم في برامج فك ترميز AV1 على الأجهزة
- الملف الشخصي الأساسي لتنسيق AVIF
- أداء برنامج ترميز AV1
- برامج ترميز الفيديو بنطاق عالي الديناميكية (HDR)
- تنسيق الألوان RGBA_1010102
- أخذ عيّنات من نسيج YUV
- جودة ترميز الفيديو
- مزج الصوت بعدّة قنوات
الكاميرا
- تمديد "الوضع الليلي"
- كاميرا أساسية تتيح استخدام ميزة "النطاق الديناميكي العالي"
- وضع المشهد "التعرّف على الوجوه"
بنود عامة
- العناصر المركّبة على الأجهزة
- شاشة بتقنية HDR
فئة أداء الوسائط 33
تم طرح الإصدار 33 من حزمة MPC في الإصدار 13 من نظام التشغيل Android، وهو يستند إلى المتطلبات التي تم طرحها في الإصدار 31 من حزمة MPC. يتم تحديد متطلبات MPC 33 في CDD لنظام التشغيل Android 13. بالإضافة إلى المتطلبات المتزايدة للسلع من MPC 31، تحدّد CDD المتطلبات في المجالات التالية:
الوسائط
- أداة فك ترميز AV1 للأجهزة
- برامج فك ترميز الأجهزة الآمنة
- وقت استجابة إعداد برنامج فك الترميز
- وقت استجابة الصوت ذهابًا وإيابًا
- سماعات الرأس السلكية وأجهزة الصوت التي تعمل عبر USB
- أجهزة MIDI
- بيئة تنفيذ موثوقة مستندة إلى الأجهزة
الكاميرا
- تثبيت الصورة أثناء المعاينة
- تسجيل فيديوهات بالتصوير البطيء
- الحد الأدنى لنسبة التكبير/التصغير للكاميرات ذات الزاوية الواسعة جدًا
- كاميرا متزامنة
- كاميرات متعددة منطقية
- حالة استخدام البث
فئة أداء الوسائط 31
تم طرح MPC 31 في Android 12. يتم تحديد متطلبات MPC 31 في مستند CDD لنظام التشغيل Android 12. يحدّد CDD المتطلبات في المجالات التالية:
الوسائط
- جلسات ترميز الفيديو المتزامنة
- وقت استجابة إعداد برنامج الترميز
- انخفاض عدد اللقطات في الثانية في وحدة فك التشفير
- جودة الترميز
الكاميرا
- درجة الدقة وعدد اللقطات في الثانية
- وقت الاستجابة لبدء التشغيل وتسجيل البيانات
FULL
أو مستوى جهاز أفضل- مصدر الطابع الزمني هو الوقت الفعلي
- إمكانات تنسيق RAW
بنود عامة
- الذاكرة
- أداء القراءة والكتابة
- درجة دقة الشاشة
- كثافة الشاشة
فئة أداء الوسائط 30
يتضمّن MPC 30 مجموعة فرعية من متطلبات MPC 31، ما يتيح للمطوّرين تقديم تجربة مخصّصة على الأجهزة الأقدم التي لا تزال تتمتع بقدرات عالية. يتم نشر متطلبات فئة الأداء المحدّدة في CDD لنظام التشغيل Android 11.
أفلام مُقترَحة لك
- ملاحظة: يتم عرض نص الرابط عندما تكون لغة JavaScript غير مفعّلة.
- وقت بدء تشغيل التطبيق