Mit jeder Version können bestimmte Android-APIs veraltet sein oder müssen refaktoriert werden, 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 Einstellungen beschrieben, die in dieser Version von Android eingestellt wurden. Weitere Informationen zu anderen Einstellungen 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 aber 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 faltbare Geräte. 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 die Klasse WindowMetrics
, 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 auf WindowMetrics
aus einem Aktivitätskontext zurückgreifen.
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 im 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 von 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();