Mit jeder Veröffentlichung können bestimmte Android-APIs veraltet sein oder refaktoriert werden müssen, um ein besseres Entwicklererlebnis zu bieten oder neue Plattformfunktionen zu unterstützen. In diesen Fällen werden die veralteten APIs von Android offiziell eingestellt und Entwickler werden auf neue APIs verwiesen, die sie stattdessen verwenden können.
Das bedeutet, dass wir den offiziellen Support für die APIs eingestellt haben, sie aber weiterhin für Entwickler verfügbar sind. Auf dieser Seite werden einige der Änderungen in diesem Release von Android beschrieben. Weitere Informationen zu anderen Einstellungen, die eingestellt werden, finden Sie im API-Diff-Bericht.
RenderScript
Ab Android 12 sind die RenderScript-APIs eingestellt. Sie funktionieren weiterhin, aber wir gehen davon aus, dass Geräte- und Komponentenhersteller die Hardwarebeschleunigung im Laufe der Zeit nicht mehr unterstützen werden. Um die GPU-Beschleunigung optimal zu nutzen, empfehlen wir, RenderScript zu migrieren.
Android-Playlists
Android-Playlists werden nicht mehr unterstützt. Die API wird nicht mehr gewartet, die aktuelle Funktionalität bleibt jedoch aus Kompatibilitätsgründen erhalten.
Wir empfehlen, Playlists als M3U-Dateien zu lesen und zu speichern.
Einstellung von Display APIs
Android-Geräte sind in vielen verschiedenen Formfaktoren erhältlich, z. B. mit großen Displays, als Tablets und als Foldables. Damit Inhalte auf jedem Gerät richtig gerendert werden, muss Ihre App die Bildschirm- oder Displaygröße ermitteln. Im Laufe der Zeit hat Android verschiedene APIs zum Abrufen dieser Informationen bereitgestellt. In Android 11 haben wir die WindowMetrics API eingeführt und die folgenden Methoden eingestellt:
In Android 12 empfehlen wir weiterhin die Verwendung von WindowMetrics und stellen die folgenden Methoden ein:
Apps sollten die WindowMetrics-APIs verwenden, um die Grenzen ihres Fensters abzufragen, oder Configuration.densityDpi, um die aktuelle Dichte abzufragen.
Die Jetpack-Bibliothek WindowManager enthält eine WindowMetrics-Klasse, die Android 4.0.1 (API-Level 14) und höher unterstützt.
Beispiele
Hier sind einige Beispiele für die Verwendung von WindowMetrics.
Achten Sie zuerst darauf, dass die Aktivitäten Ihrer App vollständig anpassbar sind.
Für alle UI-bezogenen Aufgaben, insbesondere WindowManager.getCurrentWindowMetrics(), sollte eine Aktivität WindowMetrics aus einem Aktivitätskontext verwenden.
Wenn Ihre App ein MediaProjection erstellt, müssen die Grenzen richtig dimensioniert sein, da die Projektion das Display erfasst. Wenn die App vollständig anpassbar ist, werden durch den Aktivitätskontext die richtigen Grenzen zurückgegeben.
Kotlin
val projectionMetrics = activityContext .getSystemService(WindowManager::class.java).maximumWindowMetrics
Java
WindowMetrics projectionMetrics = activityContext .getSystemService(WindowManager.class).getMaximumWindowMetrics();
Wenn die App nicht vollständig anpassbar ist, muss sie die Grenzen einer WindowContext-Instanz abfragen und die WindowMetrics des maximalen Anzeigebereichs abrufen, der der Anwendung über WindowManager.getMaximumWindowMetrics() zur Verfügung steht.
Kotlin
val windowContext = context.createWindowContext(mContext.display!!, WindowManager.LayoutParams.TYPE_APPLICATION, null) val projectionMetrics = windowContext.getSystemService(WindowManager::class.java) .maximumWindowMetrics
Java
Context windowContext = mContext.createWindowContext(mContext.getDisplay(), WindowManager.LayoutParams.TYPE_APPLICATION, null; WindowMetrics projectionMetrics = windowContext.getWindowManager() .getMaximumWindowMetrics();