Deprecazioni

A ogni release, specifiche API Android potrebbero diventare obsolete o dover essere sottoposte a refactoring per fornire una migliore esperienza per gli sviluppatori o supportare nuove funzionalità della piattaforma. In questi casi, Android ritirerà ufficialmente le API obsolete e indirizzerà gli sviluppatori a nuove API da utilizzare.

Il ritiro significa che abbiamo terminato il supporto ufficiale per le API, che però continueranno a essere disponibili per gli sviluppatori. Questa pagina evidenzia alcuni dei deprecazioni in questa release di Android. Per visualizzare altre deprecazioni, consulta il report Differenze API.

RenderScript

A partire da Android 12, le API RenderScript sono deprecate. Continueranno a funzionare, ma prevediamo che i produttori di dispositivi e componenti smettano di fornire supporto per l'accelerazione hardware nel tempo. Per sfruttare al massimo l'accelerazione della GPU, ti consigliamo di eseguire la migrazione da RenderScript.

Playlist Android

Le playlist di Android sono ritirate. L'API non è più mantenuta, ma la funzionalità attuale rimane per garantire la compatibilità.

Ti consigliamo di leggere e salvare le playlist come file m3u.

Ritiri dell'API Display

I dispositivi Android stanno diventando disponibili in molti fattori di forma, come schermi di grandi dimensioni, tablet e pieghevoli. Per visualizzare correttamente i contenuti per ogni dispositivo, la tua app deve determinare le dimensioni dello schermo o del display. Nel corso del tempo Android ha fornito API diverse per il recupero di queste informazioni. In Android 11 abbiamo introdotto l'API WindowMetrics e ritirato questi metodi:

In Android 12 continuiamo a consigliare l'utilizzo di WindowMetrics e stiamo ritirando questi metodi:

Le app dovrebbero usare le API WindowMetrics per eseguire query sui limiti della finestra oppure Configuration.densityDpi per eseguire query sulla densità attuale.

Tieni presente che la libreria Jetpack WindowManager include una classe WindowMetrics che supporta Android 4.0.1 (livello API 14) e versioni successive.

Esempi

Ecco alcuni esempi di come utilizzare WindowMetrics.

Innanzitutto, assicurati che la tua app possa rendere le attività completamente ridimensionabili.

Un'attività dovrebbe basarsi su WindowMetrics in un contesto di attività per qualsiasi attività relativa all'interfaccia utente, in particolare WindowManager.getCurrentWindowMetrics().

Se l'app crea un elemento MediaProjection, i limiti devono avere le dimensioni corrette poiché la proiezione acquisisce la visualizzazione. Se l'app è completamente ridimensionabile, il contesto dell'attività restituisce i limiti corretti.

Kotlin

val projectionMetrics = activityContext
        .getSystemService(WindowManager::class.java).maximumWindowMetrics

Java

WindowMetrics projectionMetrics = activityContext
        .getSystemService(WindowManager.class).getMaximumWindowMetrics();

Se l'app non è completamente ridimensionabile, deve eseguire una query sui limiti di un'istanza WindowContext e recuperare le metriche WindowMetrics relative alla massima area di visualizzazione disponibile per l'applicazione utilizzando 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();