Eine neue Metrik zur Leistungsmessung
Android bietet seinen Entwicklern seit langem eine Kompatibilitäts-Bibliothek, die „Support-Bibliothek“ an. Seit Android Version 9 ist diese Bibliothek veraltet und wurde durch eine neue Version namens „AndroidX“ ersetzt. Um es kurz zu machen, diese Kompatibilitätsschicht bietet Entwicklern eine relativ einfache Möglichkeit, eine neue API auf älteren Android-Geräten, die sie möglicherweise nicht unterstützen, elegant zu handhaben.
Die Android-Leistungsklasse unterscheidet sich von AndroidX. Anstatt direkt einen Fallback für diese Einstellungen bereitzustellen, besteht das Ziel darin, Ihnen als Entwickler einen Einblick in die Leistungsfähigkeit der Hardware des aktuellen Geräts zu geben. Dies deutet auch auf einen weiteren großen Unterschied hin: Android-Leistungsklassen stehen zur Laufzeit statt zur Build-Zeit zur Verfügung, wie es bei AndroidX der Fall ist.
Genauer gesagt bietet Android zum Zeitpunkt des Schreibens drei Leistungsklassen: Medien, Kamera und Generisch. Diese Klassen werden ab Android 12 vollständig verfügbar sein, da sie mit dieser Version eingeführt wurden. Für Android 11 wird eine Teilmenge dieser Klassen verfügbar sein.
// Example taken directly from
// Android's explanation, just
// to give a quick overview.
if (Build.VERSION.MEDIA_PERFORMANCE_CLASS >= Build.VERSION_CODES.S) {
// Provide the most premium experience for highest performing devices
...
}
else if (Build.VERSION.MEDIA_PERFORMANCE_CLASS == Build.VERSION_CODES.R)
// Provide a high quality experience
...
}
else {
// Remove extras to keep experience functional
...
}
Eine neue Möglichkeit, Geräte zu gruppieren
Leistungsklassen ermöglichen es Ihnen, Verbraucher auf neue Weise zu gruppieren. Anstatt sich nur auf die Android-Version zu verlassen oder noch schlimmer, auf bestimmte Gerätehersteller-Identitäten zu prüfen, um sie mit einem benutzerdefinierten Regelwerk abzugleichen, können diese neuen Leistungsklassen verwendet werden, um Verbraucher direkt (und zuverlässig) nach Fähigkeiten zu gruppieren.
Was genau von jeder Version unterstützt wird, können Sie dem „Android Compatibility Definition Document“ entnehmen. Ein neues Tool namens „Compatibility Test Suite“, das ebenfalls vom Android-Team entwickelt wurde, überprüft die vorgeschlagenen Kompatibilitäten für ein Gerät. Aber keine Sorge, diese Dinge betreffen nur Hardwarehersteller und ihre Ingenieure. Für Sie als App-Entwickler ist es wichtig, die neue API in Ihrem Anwendungscode zu verwenden.
Eine zukunftsfähige Strategie
Abschließend sei noch darauf hingewiesen, wie diese neue Leistungsklasse in zukünftigen Android-Versionen genutzt wird. Ein Gerät mit Android 12 unterstützt beispielsweise auch die Medienleistungsklasse Version 12. Wenn Android 13 nun veröffentlicht wird, kann dieses Gerät noch auf Android 13 upgraden, behält aber seine Leistungsklasse Version 12. Es war Ihnen vielleicht schon klar , aber ich wollte dieses Verhalten dennoch hervorheben. Versionen der Leistungsklasse hindern Hersteller nicht daran, auf die neueste Android-Version zu aktualisieren.