Die Leistungsklasse ist ein Standard, der mit Android 12 erstmals eingeführt wurde. Aufführung -Klasse definiert eine Reihe von Gerätefunktionen, die über die Android-Basiswerte hinausgehen Anforderungen.
Jede Android-Version hat ihre eigene Leistungsklasse, die im Android Compatibility Definition Document (Android-Kompatibilitätsdefinitionsdokument) für diese Version definiert sind. (CDD). Die Android-Kompatibilität Die Test-Suite (CTS) prüft, CDD-Anforderungen.
Für jedes Android-Gerät wird die von ihm unterstützte Leistungsklasse deklariert. Entwickler können die Leistungsklasse des Geräts zur Laufzeit sehen und verbesserte Nutzererfahrungen, bei denen die Funktionen des Geräts optimal genutzt werden.
Jetpack Core Core verwenden, um die Leistungsklasse eines Geräts zu ermitteln Leistung Bibliothek. Diese Bibliothek meldet die Medienleistungsklasse des Geräts wie angegeben in der Build-Version Informationen oder basierend auf Daten der Google Play-Dienste.
Fügen Sie zuerst eine Abhängigkeit für die relevanten Module in Ihrer Gradle-Datei hinzu:
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")
Cool
// 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) } }
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); } }
Anschließend kannst du das Attribut mediaPerformanceClass
abrufen, um die Eigenschaften deiner App anzupassen
je nach Gerätefunktionen:
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. } } }
Leistungsklassen sind aufwärtskompatibel. Ein Gerät kann auf einen neueren ohne die Leistungsklasse zu aktualisieren. Beispiel: Ein Gerät die anfänglich die Leistungsklasse 12 unterstützt, kann ein Upgrade auf Android 13 und Wenn sie nicht der Klasse 13 entspricht, wird sie gemeldet. Anforderungen. Mit einer Leistungsklasse lassen sich ohne dass eine bestimmte Android-Version erforderlich ist.
Performance-Klasse 14
Leistungsklasse 14 baut auf den Anforderungen der Leistungsklasse 13 auf. Die spezifischen Anforderungen an Leistungsklassen sind in der Android CDD Zusätzlich zu den erhöhten Anforderungen an Artikel aus der Leistungsklasse 13 Das CDD legt Anforderungen in den folgenden Bereichen fest:
Medien
- Unterstützung für Filmkörnung in AV1-Hardwaredecoder
- AVIF-Baseline-Profil
- AV1-Encoder-Leistung
- HDR-Video-Codecs
- RGBA_1010102-Farbformat
- Stichprobenerhebung für YUV-Textur
- Qualität der Videocodierung
- Mehrkanal-Audiomix
Kamera
- Nachtmodus-Erweiterung
- HDR-fähige primäre Kamera
- Szenenmodus für Gesichtserkennung
Allgemeines
- Hardware-Overlays
- HDR-Display
Performance-Klasse 13
Leistungsklasse 13 baut auf den Anforderungen der Leistungsklasse 12 auf. Die spezifischen Anforderungen an Leistungsklassen sind in der Android CDD Zusätzlich zu den erhöhten Anforderungen an Artikel aus der Leistungsklasse 12 Das CDD legt Anforderungen in den folgenden Bereichen fest:
Medien
- AV1-Hardwaredecoder
- Sichere Hardware-Decodierer
- Decoder-Initialisierungslatenz
- Audiolatenz (Roundtrip)
- Kabelgebundene Headsets und USB-Audiogeräte
- MIDI-Geräte
- Hardwaregestützte, vertrauenswürdige Ausführungsumgebung
Kamera
- Vorschau für Stabilisierung
- Aufnahmen in Zeitlupe
- Minimales Zoomverhältnis für Ultraweitwinkelkameras
- Gleichzeitige Kamera
- Logische Multikamera
- Anwendungsfall Stream
Performance-Klasse 12
Performance-Klasse 12 konzentriert sich auf Anwendungsfälle im Medienbereich. Die spezifische Leistungsklasse finden Sie in diesem Hilfeartikel CDD Das CDD legt Anforderungen in den folgenden Bereichen fest:
Medien
- Gleichzeitige Video-Codec-Sitzungen
- Latenz bei der Encoder-Initialisierung
- Frame-Drops im Decoder
- Codierungsqualität
Kamera
- Auflösung und Framerate
- Start- und Erfassungslatenzen
FULL
oder besserer Hardwarestufe- Zeitstempelquelle ist Echtzeit
- RAW-Funktion
Allgemeines
- Arbeitsspeicher
- Lese- und Schreibleistung
- Displayauflösung
- Bildschirmdichte
Performance-Klasse 11
Leistungsklasse 11 umfasst einen Teil der Anforderungen an die Leistungsklasse 12. So können Entwickelnde ein maßgeschneidertes Angebot für frühere, aber dennoch umfassende kompatible Geräte. Die spezifischen Anforderungen an die Leistungsklasse werden veröffentlicht in das Android- CDD
Empfehlungen für dich
- Hinweis: Der Linktext wird angezeigt, wenn JavaScript deaktiviert ist.
- App-Startzeit