Performans sınıfı, ilk olarak Android 12'de kullanıma sunulan bir standarttır. A performans sınıfı, Android'in temel çizgisinin ötesine geçen bir dizi cihaz özelliğini tanımlar. gereksinimlerini karşılayın.
Android'in her sürümünün kendine ait bir performans sınıfı vardır. söz konusu sürümün Android Uyumluluk Tanımlama Belgesi (CDD) başlıklı makaleyi inceleyin. Android Uyumluluğu Test Paketi (CTS), CDD koşulları.
Android destekli her cihaz, desteklediği performans sınıfını belirtir. Geliştiriciler çalışma zamanında cihazın performans sınıfını bulabilir ve cihaz özelliklerinden tam olarak yararlanan yeni sürüme geçirilmiş deneyim sağlar.
Bir cihazın performans sınıfı seviyesini bulmak için Jetpack Core Performans kitaplığını açar. Bu kitaplık, cihazın medya performansı sınıfını bildirilen şekilde raporlar derleme sürümünde bilgi veya Google Play Hizmetleri'ndeki verilere dayanır.
Gradle dosyanızdaki ilgili modüller için bir bağımlılık ekleyerek başlayın:
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")
Eski
// 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); } }
Daha sonra mediaPerformanceClass
özelliğini alarak uygulamanızın özelliklerini özelleştirebilirsiniz.
deneyimi:
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. } } }
Performans sınıfları ileriye dönüktür. Cihaz, daha yeni bir platform sürümünü kullanın. Örneğin, bir cihazda Başlangıçta 12. performans sınıfını destekleyenler Android 13'e ve 13. sınıfa uymuyorsa 12. sınıfa destek olduğunu bildirmeye devam et gereksinimlerini karşılayın. Bu durum, performans sınıfının bir projeyi bir Android cihaz paketi kullanmanız gerekmez.
14. performans sınıfı
14. performans sınıfı, 13. performans sınıfının şartlarını temel alır. Özel performans sınıfı şartları Android CDD. 13. performans sınıfındaki öğelere yönelik artan şartlara ek olarak, CDD, aşağıdaki alanlarda geçerli olan gereklilikleri belirtir:
Medya
- AV1 donanım kod çözücülerde film greni efekti desteği
- AVIF Temel Profili
- AV1 kodlayıcı performansı
- HDR video codec'leri
- RGBA_1010102 renk biçimi
- YUV doku örneklemesi
- Video kodlama kalitesi
- Çok kanallı ses miksleme
Kamera
- Gece modu uzantısı
- HDR özellikli birincil kamera
- Yüz algılama sahne modu
Generic
- Donanım yer paylaşımları
- HDR ekran
13. performans sınıfı
13. performans sınıfı, 12. performans sınıfının şartlarını temel alır. Özel performans sınıfı şartları Android CDD. 12. performans sınıfındaki öğelere yönelik artan şartlara ek olarak, CDD, aşağıdaki alanlarda geçerli olan gereklilikleri belirtir:
Medya
- AV1 donanım kod çözücü
- Güvenli donanım kod çözücüleri
- Kod çözücü başlatma gecikmesi
- Gidiş dönüş ses gecikmesi
- Kablolu kulaklıklar ve USB ses cihazları
- MIDI cihazları
- Donanım destekli güvenilir yürütme ortamı
Kamera
- Önizleme sabitleme
- Ağır çekim kayıt
- Ultra geniş kameralar için minimum yakınlaştırma oranı
- Eşzamanlı kamera
- Mantıksal çoklu kamera
- Akış kullanım alanı
Performans sınıfı 12
12. performans sınıfı, medya kullanım alanlarına odaklanmıştır. İlgili performans sınıfı Android CDD. CDD, aşağıdaki alanlara yönelik gereksinimleri belirtir:
Medya
- Eşzamanlı video codec oturumları
- Kodlayıcı başlatma gecikmesi
- Kod çözücü kare düşüşleri
- Kodlama kalitesi
Kamera
- Çözünürlük ve kare hızı
- Başlatma ve yakalama gecikmeleri
FULL
ya da daha iyi bir donanım- Zaman damgası kaynağı gerçek zamanlı
- RAW özelliği
Generic
- Bellek
- Okuma ve yazma performansı
- Ekran çözünürlüğü
- Ekran yoğunluğu
Performans sınıfı 11
11. performans sınıfı, performans sınıfı şartlarının bir alt kümesini içerir 12: Geliştiricilerin daha erken fakat yine de büyük ölçüde özelleştirilmiş bir deneyim sağlamasını sağlar. özelliği olan cihazlardır. Performans sınıfıyla ilgili belirli koşullar şurada yayınlanmıştır: Android CDD.
Sizin için önerilenler
- Not: JavaScript kapalıyken bağlantı metni gösterilir
- Uygulama başlatma süresi