کلاس عملکرد استانداردی است که برای اولین بار در اندروید 12 معرفی شد. کلاس عملکرد مجموعه ای از قابلیت های دستگاه را تعریف می کند که فراتر از الزامات پایه اندروید است.
هر نسخه از اندروید کلاس عملکرد مربوط به خود را دارد که در سند تعریف سازگاری اندروید (CDD) آن نسخه تعریف شده است. مجموعه تست سازگاری اندروید (CTS) الزامات CDD را تأیید می کند.
هر دستگاه مجهز به اندروید کلاس عملکردی را که پشتیبانی می کند را اعلام می کند. توسعه دهندگان می توانند کلاس عملکرد دستگاه را در زمان اجرا پیدا کنند و تجربیات ارتقا یافته ای را ارائه دهند که از قابلیت های دستگاه نهایت استفاده را ببرد.
برای پیدا کردن سطح کلاس عملکرد دستگاه، از کتابخانه Jetpack Core Performance استفاده کنید. این کتابخانه سطح کلاس عملکرد رسانه (MPC) دستگاه را همانطور که در اطلاعات نسخه ساخت یا بر اساس دادههای سرویسهای Google Play اعلام شده گزارش میکند.
با افزودن یک وابستگی برای ماژول های مربوطه در فایل gradle خود شروع کنید:
// 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 خود ایجاد کنید. این کار باید فقط یک بار در برنامه شما انجام شود.
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) } }
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 را بازیابی کنید تا تجربه برنامه خود را بر اساس قابلیت های دستگاه تنظیم کنید:
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. } } } }
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 پشتیبانی میکند، میتواند به اندروید 14 ارتقا یابد و در صورتی که الزامات کلاس عملکرد 34 را برآورده نکند، همچنان گزارش میدهد که از کلاس عملکرد 33 پشتیبانی میکند. این اجازه می دهد تا دستگاه ها را بدون اتکا به یک نسخه اندروید خاص گروه بندی کنید.
MPC 35 در اندروید 15 معرفی شد و بر اساس الزامات معرفی شده در MPC 34 ساخته شده است. الزامات خاص MPC 35 در CDD Android 15 منتشر شده است. علاوه بر افزایش الزامات برای موارد از MPC 34، CDD الزامات را در زمینه های زیر مشخص می کند: