À chaque version, des API Android spécifiques peuvent devenir obsolètes ou doivent être refactorisées pour offrir une meilleure expérience aux développeurs ou prendre en charge de nouvelles fonctionnalités de la plate-forme. Dans ce cas, Android abandonne officiellement les API obsolètes et redirige les développeurs vers les nouvelles API à utiliser à la place.
La mise à l'abandon signifie que nous avons mis fin à la prise en charge officielle des API, mais qu'elles resteront disponibles pour les développeurs. Cette page met en évidence certaines des fonctionnalités obsolètes de cette version d'Android. Pour voir d'autres abandons, consultez le rapport de différences de l'API.
RenderScript
À partir d'Android 12, les API RenderScript sont obsolètes. Elles continueront de fonctionner, mais les fabricants d'équipements et de composants devraient cesser de proposer la prise en charge de l'accélération matérielle. Pour profiter pleinement de l'accélération du GPU, nous vous recommandons d'abandonner RenderScript.
Playlists Android
Les playlists Android sont obsolètes. L'API n'est plus gérée, mais la fonctionnalité actuelle reste disponible pour assurer la compatibilité.
Nous vous recommandons de lire et d'enregistrer les playlists au format m3u.
Abandons d'API Display
Les appareils Android sont disponibles dans de nombreux facteurs de forme, tels que les grands écrans, les tablettes et les appareils pliables. Pour afficher le contenu de manière appropriée pour chaque appareil, votre application doit déterminer la taille de l'écran ou de l'affichage. Au fil du temps, Android a fourni différentes API pour récupérer ces informations. Dans Android 11, nous avons introduit l'API WindowMetrics
et abandonné ces méthodes:
Dans Android 12, nous continuons de recommander d'utiliser WindowMetrics
et nous supprimons les méthodes suivantes:
Les applications doivent utiliser les API WindowMetrics
pour interroger les limites de leur fenêtre ou Configuration.densityDpi
pour interroger la densité actuelle.
Notez que la bibliothèque Jetpack WindowManager
inclut une classe WindowMetrics
compatible avec Android 4.0.1 (niveau d'API 14) ou version ultérieure.
Exemples
Voici quelques exemples d'utilisation de WindowMetrics
.
Tout d'abord, assurez-vous que votre application peut redimensionner complètement ses activités.
Une activité doit s'appuyer sur WindowMetrics
à partir d'un contexte d'activité pour tout travail lié à l'UI, en particulier WindowManager.getCurrentWindowMetrics()
.
Si votre application crée un MediaProjection
, les limites doivent être correctement dimensionnées, car la projection capture l'écran. Si l'application peut être entièrement redimensionnée, le contexte de l'activité renvoie les limites appropriées.
Kotlin
val projectionMetrics = activityContext .getSystemService(WindowManager::class.java).maximumWindowMetrics
Java
WindowMetrics projectionMetrics = activityContext .getSystemService(WindowManager.class).getMaximumWindowMetrics();
Si l'application n'est pas entièrement redimensionnable, elle doit interroger les limites à partir d'une instance WindowContext
et récupérer les WindowMetrics de la zone d'affichage maximale disponible pour l'application à l'aide de WindowManager.getMaximumWindowMetrics()
.
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();