Deprecazioni

Con ogni release, API Android specifiche potrebbero diventare obsolete o dover essere ristrutturate per offrire un'esperienza migliore per gli sviluppatori o supportare nuove funzionalità della piattaforma. In questi casi, Android ritirerà ufficialmente le API obsolete e indirizzerà gli sviluppatori alle nuove API da utilizzare.

Con ritiro si intende che abbiamo interrotto il supporto ufficiale delle API, che tuttavia continueranno a essere disponibili per gli sviluppatori. Questa pagina mette in evidenza alcune delle ritirazioni in questa release di Android. Per visualizzare altre ritiri, consulta il report sulle differenze dell'API.

RenderScript

A partire da Android 12, le API RenderScript sono ritirate. Continueranno a funzionare, ma prevediamo che i produttori di dispositivi e componenti interromperanno gradualmente il supporto dell'accelerazione hardware. Per sfruttare al meglio l'accelerazione GPU, ti consigliamo di eseguire la migrazione da RenderScript.

Playlist di Android

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

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

Ritiro dell'API Display

I dispositivi Android sono disponibili in molti fattori di forma diversi, ad esempio con schermi di grandi dimensioni, tablet e pieghevoli. Per visualizzare correttamente i contenuti per ogni dispositivo, l'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 devono utilizzare le API WindowMetrics per eseguire query sui limiti della finestra o Configuration.densityDpi per eseguire query sulla densità corrente.

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 utilizzo di WindowMetrics.

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

Un'attività deve basarsi su WindowMetrics da un contesto dell'attività per qualsiasi attività correlata all'interfaccia utente, in particolare WindowManager.getCurrentWindowMetrics().

Se la tua app crea un MediaProjection, i limiti devono avere le dimensioni corrette poiché la proiezione acquisisce il display. 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 da un'istanza WindowContext e recuperare WindowMetrics dell'area di visualizzazione massima 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();