کلاس عملکرد

کلاس عملکرد استانداردی است که برای اولین بار در اندروید 12 معرفی شد. کلاس عملکرد مجموعه ای از قابلیت های دستگاه را تعریف می کند که فراتر از الزامات پایه اندروید است.

هر نسخه از اندروید کلاس عملکرد مربوط به خود را دارد که در سند تعریف سازگاری اندروید (CDD) آن نسخه تعریف شده است. مجموعه تست سازگاری اندروید (CTS) الزامات CDD را تأیید می کند.

هر دستگاه مجهز به اندروید کلاس عملکردی را که پشتیبانی می کند را اعلام می کند. توسعه دهندگان می توانند کلاس عملکرد دستگاه را در زمان اجرا پیدا کنند و تجربیات ارتقا یافته ای را ارائه دهند که از قابلیت های دستگاه نهایت استفاده را ببرد.

برای پیدا کردن سطح کلاس عملکرد دستگاه، از کتابخانه Jetpack Core Performance استفاده کنید. این کتابخانه کلاس عملکرد رسانه دستگاه را همانطور که در اطلاعات نسخه ساخت یا بر اساس داده‌های سرویس‌های 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'

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)
  }
}

جاوا

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.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.
      }
    }
  }
}

جاوا

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 پشتیبانی می‌کند، می‌تواند به اندروید 13 ارتقا یابد و در صورتی که الزامات کلاس 13 را برآورده نکند، همچنان گزارش می‌دهد که از کلاس 12 پشتیبانی می‌کند. این بدان معنی است که یک کلاس عملکرد راهی برای گروه بندی دستگاه ها بدون اتکا به یک نسخه اندروید خاص ارائه می دهد.

شکل 1. دستگاه‌ها می‌توانند نسخه‌های Android را ارتقا دهند و گزارش دهند که از کلاسی که در ابتدا پشتیبانی می‌کنند، پشتیبانی می‌کنند.

کلاس عملکرد 14

کلاس عملکرد 14 مبتنی بر الزامات معرفی شده در کلاس عملکرد 13 است. الزامات کلاس عملکرد خاص در CDD Android منتشر شده است. علاوه بر افزایش الزامات برای اقلام از کلاس عملکرد 13، CDD الزامات را در زمینه های زیر مشخص می کند:

رسانه ها

  • پشتیبانی از جلوه دانه فیلم در رمزگشاهای سخت افزاری AV1
  • نمایه خط پایه AVIF
  • عملکرد رمزگذار AV1
  • کدک های ویدیویی HDR
  • فرمت رنگی RGBA_1010102
  • نمونه برداری بافت YUV
  • کیفیت رمزگذاری ویدیو
  • میکس صدا چند کاناله

دوربین

  • پسوند حالت شب
  • دوربین اصلی با قابلیت HDR
  • حالت صحنه تشخیص چهره

عمومی

  • پوشش های سخت افزاری
  • نمایشگر HDR

کلاس عملکرد 13

کلاس عملکرد 13 مبتنی بر الزامات معرفی شده در کلاس عملکرد 12 است. الزامات کلاس عملکرد خاص در CDD Android منتشر شده است. علاوه بر افزایش الزامات برای اقلام از کلاس عملکرد 12، CDD الزامات را در زمینه های زیر مشخص می کند:

رسانه ها

  • رسیور سخت افزاری AV1
  • رمزگشاهای سخت افزاری ایمن
  • تأخیر اولیه رسیور
  • تأخیر صوتی رفت و برگشت
  • هدست های سیمی و دستگاه های صوتی USB
  • دستگاه های MIDI
  • محیط اجرای قابل اعتماد با پشتوانه سخت افزار

دوربین

  • پیش نمایش تثبیت
  • ضبط آهسته
  • حداقل نسبت زوم برای دوربین های فوق عریض
  • دوربین همزمان
  • چند دوربین منطقی
  • مورد استفاده از جریان

کلاس عملکرد 12

کلاس عملکرد 12 بر موارد استفاده از رسانه متمرکز است. الزامات کلاس عملکرد خاص در CDD Android منتشر شده است. CDD الزامات را در زمینه های زیر مشخص می کند:

رسانه ها

  • جلسات کدک ویدیویی همزمان
  • تأخیر اولیه کدگذار
  • افت فریم رسیور
  • کیفیت رمزگذاری

دوربین

  • وضوح و نرخ فریم
  • راه اندازی و ثبت تاخیرها
  • سطح سخت افزار FULL یا بهتر
  • منبع مهر زمانی بیدرنگ است
  • قابلیت RAW

عمومی

  • حافظه
  • خواندن و نوشتن عملکرد
  • وضوح صفحه نمایش
  • تراکم صفحه نمایش

کلاس عملکرد 11

کلاس عملکرد 11 شامل زیرمجموعه‌ای از الزامات کلاس عملکرد 12 است که به توسعه‌دهندگان اجازه می‌دهد تجربه‌ای متناسب با دستگاه‌های قدیمی‌تر اما هنوز هم بسیار توانمند ارائه دهند. الزامات کلاس عملکرد خاص در CDD Android منتشر شده است.

{% کلمه به کلمه %} {% آخر کلمه %} {% کلمه به کلمه %} {% آخر کلمه %}