Ritiri

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

Il ritiro significa che abbiamo interrotto il supporto ufficiale per le API, ma queste continueranno a essere disponibili per gli sviluppatori. Questa pagina evidenzia alcune delle deprecazioni in questa release di Android. Per visualizzare altri ritiri, consulta il report sulle differenze dell'API.

RenderScript

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

Playlist Android

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

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

Ritiro delle API Display

I dispositivi Android sono disponibili in molti fattori di forma diversi, come schermi di grandi dimensioni, tablet e pieghevoli. Per eseguire il rendering dei contenuti in modo appropriato per ogni dispositivo, l'app deve determinare le dimensioni dello schermo o del display. Nel corso del tempo, Android ha fornito diverse API per recuperare 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 come utilizzare WindowMetrics.

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

Un'attività deve basarsi su WindowMetrics da un contesto di attività per qualsiasi lavoro relativo alla UI, in particolare WindowManager.getCurrentWindowMetrics().

Se la tua app crea un MediaProjection, i limiti devono essere dimensionati correttamente, 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 le metriche della finestra 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();