Panoramica delle funzionalità e delle API

Android 13 introduce nuove fantastiche funzionalità e API per gli sviluppatori. Le sezioni riportate di seguito descrivono le funzionalità delle tue app e inizia a utilizzare le API correlate.

Per un elenco dettagliato delle API nuove, modificate e rimosse, leggi il report Differenze API. Per informazioni dettagliate sulle nuove API, consulta il Riferimento API Android: le nuove API sono evidenziate per la visibilità. Inoltre, per conoscere le aree in cui le modifiche alla piattaforma possono influire sulle tue app, assicurati di controllare le modifiche del comportamento di Android 13 per le app destinate ad Android 13 e per tutte le app.

Produttività e strumenti degli sviluppatori

Icone delle app a tema

Utente che attiva icone delle app a tema
Attivazione delle icone delle app a tema su Android 13

A partire da Android 13, puoi attivare icone delle app a tema. Con questa funzionalità, le icone delle app nelle app di avvio di Android supportati sono colorate in modo da ereditare il colore dello sfondo scelto dall'utente e di altri temi.

Per supportare questa funzionalità, la tua app deve fornire un'icona adattiva e un'icona dell'app monocromatica e indirizzare l'utente all'icona dell'app monocromatica dall'elemento <adaptive-icon> nel file manifest. Se un utente ha attivato le icone delle app a tema (in altre parole, ha attivato l'opzione Icone a tema nelle impostazioni di sistema) e Avvio app supporta questa funzionalità, il sistema utilizza la colorazione dello sfondo e del tema scelti dall'utente per determinare il colore di tinta, che verrà poi applicato all'icona dell'app monocromatica.

La schermata Home NON mostra l'icona dell'app a tema (e mostra invece l'icona dell'app adattiva o standard) in nessuno dei seguenti scenari:

  • Se l'utente non ha attivato le icone delle app a tema
  • Se la tua app non fornisce un'icona monocromatica
  • Se Avvio app non supporta le icone delle app a tema

Per ulteriori dettagli e istruzioni, vedi Icone adattive.

Lingua preferita nelle app

Lingue per app nelle impostazioni di sistema

In molti casi, gli utenti multilingue impostano la lingua di sistema su una lingua, ad esempio l'inglese, ma vogliono selezionare altre lingue per app specifiche, ad esempio olandese, cinese o hindi. Per consentire alle app di offrire un'esperienza migliore a questi utenti, Android 13 introduce le seguenti funzionalità per le app che supportano più lingue:

  • Impostazioni di sistema: una posizione centralizzata in cui gli utenti possono selezionare una lingua preferita per ogni app.

    La tua app deve dichiarare l'attributo android:localeConfig nel file manifest dell'app per comunicare al sistema che supporta più lingue. Per scoprire di più, consulta le istruzioni per creare un file di risorse e dichiararlo nel file manifest dell'app.

  • API aggiuntive: queste API pubbliche, come i metodi setApplicationLocales() e getApplicationLocales() in LocaleManager, consentono alle app di impostare una lingua diversa da quella del sistema al momento del runtime.

    Queste API si sincronizzano automaticamente con le impostazioni di sistema; pertanto, le app che utilizzano queste API per creare selettori della lingua in-app personalizzati garantiranno agli utenti un'esperienza coerente, indipendentemente da dove selezionino le preferenze relative alla lingua. Inoltre, le API pubbliche ti aiutano a ridurre la quantità di codice boilerplate, supportano APK divisi e supportano il backup automatico per le app per archiviare le impostazioni della lingua dell'utente a livello di app.

    Per garantire la compatibilità con le versioni precedenti di Android, sono disponibili API equivalenti anche in AndroidX. Ti consigliamo di utilizzare le API aggiunte in Appcompat 1.6.0-beta01 o versioni successive.

Le app che non supportano più lingue non sono interessate da queste modifiche.

Supporto migliorato di testo e lingue

Android 13 include diverse funzionalità migliorate per testo e lingua che ti aiutano a offrire un'esperienza più curata, come descritto nelle seguenti sezioni:

Sillabazione più rapida

Il trattino facilita la lettura del testo a capo e contribuisce a rendere l'interfaccia utente più adattiva. A partire da Android 13, le prestazioni della sillabazione sono ottimizzate fino al 200%, quindi puoi attivarla in TextView senza quasi alcun impatto sulle prestazioni di rendering. Per consentire una sillabazione più rapida, utilizza le frequenze fullFast o normalFast in setHyphenationFrequency().

API Text Conversion

Le persone che parlano lingue come il giapponese e il cinese utilizzano metodi di inserimento delle lettere fonetiche, che spesso rallentano la ricerca e funzionalità come il completamento automatico. In Android 13, le app possono chiamare la nuova API Text Conversion per consentire agli utenti di trovare ciò che cercano in modo più semplice e veloce. In precedenza, ad esempio, per eseguire una ricerca, un utente giapponese svolgeva i seguenti passaggi:

  1. Inserisci Hiragana come pronuncia fonetica del termine di ricerca (ad esempio un luogo o il nome di un'app)
  2. Usa la tastiera per convertire i caratteri Hiragana in Kanji
  3. Ricerche usando i caratteri Kanji
  4. Infine, visualizza i risultati di ricerca

Con la nuova API Text Conversion, gli utenti giapponesi possono digitare Hiragana e vedere immediatamente i risultati di ricerca in tempo reale kanji, saltando i passaggi 2 e 3.

Altezza delle righe migliorata per gli script non latini

Android 13 migliora la visualizzazione degli script non latini (ad esempio tamil, birmano, telugu e tibetano) grazie a un'altezza di riga adattata a ogni lingua. Le nuove altezze delle righe impediscono il ritaglio dei caratteri e migliorano il posizionamento dei caratteri. La tua app può usufruire di questi miglioramenti semplicemente scegliendo come target Android 13. Assicurati di testare le tue app quando utilizzi la nuova interlinea, perché le modifiche potrebbero influire sulla tua UI in lingue non latine.

Altezze delle righe tagliate in Android 12 (sopra) che ora sono posizionate meglio e non sono tagliate in Android 13 (sotto).

Testo a capo in giapponese migliorato

A partire da Android 13, gli strumenti TextView possono mandare a capo il testo in base a Bunsetsu (la più piccola unità di parole dal suono naturale) o in frasi, anziché per carattere, per applicazioni giapponesi più eleganti e leggibili. Puoi sfruttare questo wrapping utilizzando android:lineBreakWordStyle="phrase" con TextView.

Testo a capo in giapponese con stile a frase attivato (sotto) e senza (sopra).

Aggiornamenti della libreria Unicode

Android 13 aggiunge gli ultimi miglioramenti, correzioni e modifiche inclusi in Unicode ICU 70, Unicode CLDR 40 e Unicode 14.0.

Ecco un paio di modifiche degne di nota:

  • L'inglese (Canada) en‑CA e l'inglese (Repubblica delle Filippine) en‑PH utilizzano entrambi risorse di traduzione en in inglese (Stati Uniti) se non sono disponibili risorse di traduzione al posto dell'inglese (Regno Unito) en‑GB.
  • La categoria plurale many è stata introdotta per lo spagnolo es, l'italiano it, il portoghese pt e il portoghese (Portogallo) pt‑PT. Analogamente al francese introdotto nella versione CLDR v38, viene utilizzato per i numeri elevati.

Caratteri di vettore dei colori

Emoji vettoriale COLRv1 (sinistra) ed emoji bitmap (destra)

A partire da Android 13, il sistema include il supporto del rendering per i caratteri COLR versione 1 (COLRv1) e l'aggiornamento delle emoji di sistema al formato COLRv1. COLRv1 è un formato di caratteri molto compatto che consente un rendering rapido e nitido a qualsiasi dimensione.

Per la maggior parte delle app, il sistema gestisce tutto e COLRv1 funziona come dovrebbe. Tuttavia, se l'app implementa il proprio rendering del testo e utilizza i caratteri del sistema, ti consigliamo di testare il rendering delle emoji.

Per saperne di più su COLRv1, consulta le seguenti risorse:

API di posizionamento Impostazioni rapide

Le Impostazioni rapide nell'area notifiche consentono agli utenti di modificare facilmente le impostazioni o eseguire azioni rapide senza uscire dal contesto di un'app. Per le app che includono riquadri personalizzati, stiamo semplificando la scoperta e l'aggiunta dei riquadri nelle Impostazioni rapide. Grazie a una nuova APItile Placement, l'app ora può chiedere all'utente di aggiungere direttamente il tuo riquadro personalizzato all'insieme di riquadri attivi delle Impostazioni rapide. Una nuova finestra di dialogo di sistema consente all'utente di aggiungere il riquadro in un solo passaggio, senza uscire dall'app, invece di dover accedere alle Impostazioni rapide per aggiungere il riquadro.

Una finestra di dialogo che chiede all&#39;utente se vuole aggiungere un riquadro alle proprie
          Impostazioni rapide.

Anteprima appunti

A partire da Android 13, il sistema mostra una conferma visiva standard quando vengono aggiunti contenuti agli appunti. La nuova conferma comporta quanto segue:

  • Conferma che i contenuti sono stati copiati correttamente.
  • Fornisce un'anteprima dei contenuti copiati.

Questa funzionalità standardizza le varie notifiche mostrate dalle app dopo la copia e offre agli utenti un maggiore controllo sugli appunti. Per ulteriori informazioni, visita la pagina della funzionalità Copia e incolla.

Widget Copia/Incolla
Nuova UI mostrata quando i contenuti vengono inseriti negli appunti.

Gesto Indietro predittivo

Android 13 introduce un gesto Indietro predittivo per i dispositivi Android come smartphone, schermi grandi e pieghevoli. Per supportare questa funzionalità è necessario aggiornare l'app.

Per consultare la documentazione dettagliata, consulta Aggiornare l'app per supportare un gesto back predittivo. Puoi anche provare il nostro codelab.

Bluetooth LE audio

Low Energy (LE) Audio è un sistema audio wireless realizzato per sostituire il Bluetooth classico e consentire determinati casi d'uso e topologie di connessione. Consente agli utenti di condividere e trasmettere il proprio audio ad amici e familiari o di abbonarsi a trasmissioni pubbliche per informazione, intrattenimento o accessibilità. È progettata per garantire che gli utenti possano ricevere audio ad alta fedeltà senza ridurre la durata della batteria e possono passare facilmente da un caso d'uso diverso all'altro che non è possibile con Bluetooth Classic. A partire da Android 13, il sistema include il supporto integrato per LE Audio, pertanto gli sviluppatori ricevono senza costi queste funzionalità sui dispositivi compatibili.

MIDI 2.0

A partire da Android 13, il sistema include il supporto per lo standard MIDI 2.0, inclusa la possibilità di collegare hardware MIDI 2.0 tramite USB. Questo standard offre funzionalità come una maggiore risoluzione per i controller, un migliore supporto per l'intonazione non occidentale e prestazioni più espressive utilizzando controller per nota.

Miglioramenti dell'efficienza delle schermate iniziali

Android 13 migliora l'efficienza delle schermate iniziali animate nell'API Schermata iniziale:

  • Il sistema deduce la durata dell'animazione direttamente da AnimatedVectorDrawable. Prima di Android 13, era necessario impostare direttamente windowSplashScreenAnimationDuration.

  • Utilizza il nuovo attributo windowSplashScreenBehavior per avere un maggiore controllo sulla visualizzazione dell'icona da parte della tua app nella schermata iniziale in Android 13 e versioni successive.

Per visualizzare la documentazione dettagliata, vedi Schermate iniziali.

Ottimizzazioni ART

In Android 13 (livello API 33) e versioni successive, ART velocizza il passaggio da e verso il codice nativo, con chiamate JNI ora fino a 2,5 volte più veloci. Inoltre, l'elaborazione dei riferimenti al runtime è stata rielaborata per renderla per lo più non bloccante, il che riduce ulteriormente i jank. Inoltre, puoi utilizzare l'API pubblica di Reference.refersTo() per recuperare prima gli oggetti non raggiungibili e noterai che l'interprete ora è più veloce grazie alle ricerche ottimizzate di classi e metodi. ART esegue anche ulteriori verifiche del codice in byte al momento dell'installazione, evitando spese di verifica in fase di runtime e velocizzando i tempi di avvio delle app.

Privacy e sicurezza

Esportazione più sicura dei destinatari registrati in contesto

Per contribuire a rendere più sicuri i ricevitori di runtime, Android 13 offre alla tua app la possibilità di specificare se un ricevitore di trasmissione registrato deve essere esportato e visibile ad altre app sul dispositivo. Nelle versioni precedenti di Android, qualsiasi app sul dispositivo poteva inviare una trasmissione non protetta a un ricevitore registrato dinamicamente, a meno che il destinatario non fosse protetto da un'autorizzazione per la firma.

Questa configurazione di esportazione è disponibile per le app che:

Selettore di foto

Android 13 (livello API 33) e versioni successive includono un'esperienza di selettore di foto. Quando l'app avvia il selettore di foto, gli utenti selezionano immagini e video specifici da condividere con la tua app, ad esempio immagini del profilo, anziché concedere all'app l'accesso per visualizzare l'intera raccolta multimediale. Questo è il modo consigliato per accedere alle foto e ai video dell'utente.

Il selettore di foto offre una maggiore privacy agli utenti perché la tua app non deve dichiarare alcuna autorizzazione di runtime. Inoltre, il selettore di foto offre un'interfaccia utente standardizzata integrata per le app, che crea un'esperienza utente più coerente.

Nuova autorizzazione di runtime per i dispositivi Wi-Fi nelle vicinanze

Android 13 (livello API 33) introduce una nuova autorizzazione di runtime nel gruppo di autorizzazioni NEARBY_DEVICES per le app che gestiscono le connessioni di un dispositivo ai punti di accesso nelle vicinanze tramite Wi-Fi. Queste app devono dichiarare la nuova autorizzazione, NEARBY_WIFI_DEVICES, quando chiamano diverse API Wi-Fi. Inoltre, fintanto che le app non rilevano la posizione fisica dalle API Wi-Fi, non devono dichiarare l'autorizzazione ACCESS_FINE_LOCATION quando hanno come target Android 13 o versioni successive.

Scopri di più sull'autorizzazione Dispositivi Wi-Fi nelle vicinanze.

Nuova autorizzazione per usare le sveglie esatte

Se la tua app ha come target Android 13 o versioni successive, puoi utilizzare l'autorizzazione USE_EXACT_ALARM, che viene concessa automaticamente all'app. Tuttavia, affinché l'app possa usare questa autorizzazione, deve soddisfare almeno uno dei seguenti criteri:

  • L'app è un'app sveglia o timer.
  • La tua app è un'app di calendario che mostra notifiche per i prossimi eventi.

Se la tua app imposta sveglie esatte, ma non soddisfa uno dei due casi mostrati nell'elenco precedente, continua a dichiarare l'autorizzazione SCHEDULE_EXACT_ALARM e preparati a gestire la situazione in cui l'utente nega l'accesso alla tua app.

Autorizzazioni degradabili dello sviluppatore

A partire da Android 13, la tua app può revocare l'accesso alle autorizzazioni di runtime inutilizzate. Questa API consente all'app di eseguire attività di miglioramento della privacy come le seguenti:

  • Rimuovi le autorizzazioni inutilizzate.
  • Rispetta le best practice relative alle autorizzazioni, per migliorare la fiducia degli utenti. Potresti valutare la possibilità di mostrare agli utenti una finestra di dialogo che mostra le autorizzazioni che hai revocato in modo proattivo.

Schema di firma APK v3.1

Android 13 aggiunge il supporto per lo schema di firma APK v3.1, che migliora rispetto all'attuale schema di firma APK v3. Questo schema risolva alcuni dei problemi noti relativi allo schema di firma APK v3 relativo alla rotazione. In particolare, lo schema di firma v3.1 supporta il targeting della versione dell'SDK, che consente alla rotazione di scegliere come target una release successiva della piattaforma.

Lo schema di firma della versione 3.1 utilizza un ID blocco non riconosciuto nelle versioni 12L o precedenti. Pertanto, la piattaforma applica il seguente comportamento dei firmatari:

  • I dispositivi con Android 13 o versioni successive utilizzano il firmatario ruotato nel blocco v3.1.
  • I dispositivi che eseguono versioni precedenti di Android ignorano il firmatario ruotato e utilizzano invece il firmatario originale nel blocco v3.0.

Le app per le quali non è stata ancora eseguita la rotazione della chiave di firma non richiedono alcuna azione aggiuntiva. Ogni volta che queste app scelgono di ruotare, il sistema applica lo schema di firma v3.1 per impostazione predefinita.

Le app che sono già state ruotate e vogliono continuare a utilizzare la chiave di firma ruotata nel blocco di firma v3.0 devono aggiornare la chiamata a apksigner:

apksigner sign --ks keystore.jks |
  --key key.pk8 --cert cert.x509.pem
  --rotation-min-sdk-version API_LEVEL
  [signer_options] app-name.apk

...dove API_LEVEL è pari o inferiore a 32.

Miglioramento della segnalazione degli errori in Keystore e KeyMint

Per le app che generano chiavi, Keystore e KeyMint ora forniscono indicatori di errore più dettagliati e precisi. Abbiamo aggiunto una gerarchia delle classi di eccezione in java.security.ProviderException, con eccezioni specifiche per Android che includono i codici di errore Keystore/KeyMint e se l'errore è irreversibile. Puoi anche modificare i metodi di generazione e utilizzo delle chiavi (firma, crittografia) per generare le nuove eccezioni. Il miglioramento dei report sugli errori non si limita alla generazione della chiave e ora dovrebbe fornirti ciò di cui hai bisogno per riprovare a generare la chiave.

Supporto per tablet e schermi grandi

Android 13 si basa sulle ottimizzazioni per tablet introdotte in Android 12 e sul rilascio di funzionalità da 12 litri, tra cui ottimizzazioni dell'interfaccia utente di sistema, multitasking migliore e modalità di compatibilità migliorate. Come parte del test, assicurati che le tue app abbiano un aspetto ottimale su tablet e altri dispositivi con schermi di grandi dimensioni.

Per ulteriori informazioni sulle novità e su cosa testare, consulta la pagina Supporto di tablet e schermi di grandi dimensioni.

Grafica

Shader programmabili

Uno Shader animato AGSL, adattato da questo shader GLSL.

A partire da Android 13, il sistema include il supporto per gli oggetti RuntimeShader programmabili, il cui comportamento è definito utilizzando Android Graphics Shading Language (AGSL). AGSL condivide gran parte della sua sintassi con GLSL, ma funziona all'interno del motore di rendering di Android per personalizzare la pittura all'interno della canvas di Android e per filtrare i contenuti della visualizzazione. Android utilizza internamente questi mesh per implementare effetti a onde, sfocatura e estensione dello scorrimento. Android 13 e versioni successive ti consentono di creare effetti avanzati simili per la tua app.

Miglioramenti alla coreografia

Android 13 introduce metodi API pubblici per Choreographer e ASurfaceControl che forniscono alle app maggiori informazioni sulle possibili cronologie dei frame e aggiungono ulteriore contesto al SurfaceFlinger ciclo di vita dei frame. Come in precedenza, le app possono pubblicare un callback a Choreographer e ricevere informazioni sulla sequenza temporale del frame. In Android 13 (livello API 33), Choreographer restituisce più tempi di presentazione possibili e le scadenze dei frame corrispondenti. Le app possono scegliere la data e l'ora della presentazione e successivamente inviare una notifica a SurfaceFlinger. SurfaceFlinger non tenta quindi di applicare transazioni o buffer di blocco prima della data e dell'ora di presentazione desiderate.

Se la tua app utilizza i nuovi metodi Choreographer e SurfaceControl, puoi visualizzare il ciclo di vita dei frame dell'app in una traccia Perfetto.

Fotocamera

Acquisizione video HDR

A partire da Android 13, le API Camera2 supportano l'acquisizione video HDR (High Dynamic Range), che consente di visualizzare l'anteprima e registrare i contenuti video HDR utilizzando la fotocamera. Rispetto all'SDR (Standard Dynamic Range), la tecnologia HDR offre una gamma più ampia di colori e aumenta l'intervallo dinamico del componente di luminanza (dagli attuali 100 cd/m2 a 1000 secondi di cd/m2). Il risultato è una qualità video più fedele alla realtà, con colori più intensi, alte luci più luminose e ombre più scure.

Per ulteriori informazioni sull'acquisizione video HDR, consulta la documentazione relativa all'acquisizione video HDR.

Contenuti multimediali

Audio spaziale

L'audio spaziale è un'esperienza sonora immersiva che rende i contenuti multimediali più realistici per gli utenti. Consulta la nostra documentazione sull'audio spaziale per i dettagli su come eseguire l'integrazione con questa funzionalità.

Routing audio previsto

Per aiutare le app multimediali a identificare la modalità di routing dell'audio, Android 13 introduce le API di routing audio nella classe AudioManager. L'API getAudioDevicesForAttributes() ti consente di recuperare un elenco di dispositivi che potrebbero essere utilizzati per riprodurre l'audio specificato, mentre l'API getDirectProfilesForAttributes() ti aiuta a capire se il tuo stream audio può essere riprodotto direttamente. Utilizza queste API per determinare qual è il migliore AudioFormat da utilizzare per la tua traccia audio.

Accessibilità

Descrizione audio

Android 13 (livello API 33) introduce una nuova preferenza di accessibilità a livello di sistema che consente agli utenti di attivare descrizioni audio in tutte le app. Una descrizione audio è una traccia narrativa aggiuntiva composta da un narratore che parla nella presentazione, descrivendo cosa succede sullo schermo durante le pause naturali dell'audio. Le app possono seguire le preferenze dell'utente in merito alle tracce della descrizione audio eseguendo una query con isAudioDescriptionRequested(), come mostrato nel seguente snippet di codice:

Kotlin


private lateinit var accessibilityManager: AccessibilityManager

// In onCreate():
accessibilityManager = getSystemService(AccessibilityManager::class.java)

// Where your media player is initialized
if (accessibilityManager.isAudioDescriptionRequested) {
    // User has requested to enable audio descriptions
}

Java


private AccessibilityManager accessibilityManager;

// In onCreate():
accessibilityManager = getSystemService(AccessibilityManager.class);

// Where your media player is initialized
if(accessibilityManager.isAudioDescriptionRequested()) {
    // User has requested to enable audio descriptions
}

Le app possono monitorare la modifica delle preferenze dell'utente aggiungendo un listener a AccessbilityManager:

Kotlin

private val listener =
    AccessibilityManager.AudioDescriptionRequestedChangeListener { enabled ->
        // Preference changed; reflect its state in your media player
    }

override fun onStart() {
    super.onStart()

    accessibilityManager.addAudioDescriptionRequestedChangeListener(mainExecutor, listener)
}

override fun onStop() {
    super.onStop()

    accessibilityManager.removeAudioDescriptionRequestedChangeListener(listener)
}

Java

private AccessibilityManager.AudioDescriptionRequestedChangeListener listener = enabled -> {
    // Preference changed; reflect its state in your media player
};

@Override
protected void onStart() {
    super.onStart();

    accessibilityManager.addAudioDescriptionRequestedChangeListener(getMainExecutor(), listener);
}

@Override
protected void onStop() {
    super.onStop();

    accessibilityManager.removeAudioDescriptionRequestedChangeListener(listener);
}

Funzionalità di base

Aggiornamenti di OpenJDK 11

Android 13 inizia il lavoro di aggiornamento delle librerie di base di Android per allinearsi alla release OpenJDK 11 LTS con gli aggiornamenti delle librerie e il supporto del linguaggio Java 11 per gli sviluppatori di applicazioni e piattaforme. Le modifiche alla libreria di base introdotte in Android 13 saranno disponibili anche per i dispositivi Android 12 tramite un aggiornamento di sistema Google Play del modulo ART Mainline.

Android 13 include le seguenti modifiche alle librerie di base:

  • Supporto della parola chiave var per le variabili locali e lambda come parametri.
  • Nuovi metodi nella classe String:

    • isBlank()
    • lines()
    • repeat()
    • strip()
    • stripLeading()
    • stripTrailing()
  • Supporto per Collection.toArray(IntFunction) per semplificare l'adattamento di una raccolta a un array.

  • Supporto per ifPresentOrElse(), isEmpty(), orElseThrow() e stream() nei corsi java.util Optional, OptionalDouble, OptionalInt e OptionalLong.

  • Supporto esteso per SocketOptions, incluso il riutilizzo dei socket.

  • Funzionalità NullReader, NullWriter, InputStream, OutputStream e transferTo() Reader che trasferiscono i caratteri letti a un elemento Writer.

  • È stata aggiunta una funzionalità per la codifica e la decodifica dell'URL utilizzando Charsets.

  • Funzionalità Charset per FileReader, FileWriter, PrintStream e PrintWriter.

  • Nuove funzioni transferTo(), readNBytes(), readAllBytes() e writeBytes() per ByteArrayInput, OutputStream e Input o OutputStream.

  • Supporto di runtime e compilatore per java.lang.invoke.VarHandle.

  • Aggiorna java.util.concurrent all'API OpenJDK 11 utilizzando VarHandle internamente.

Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.