Panoramica delle funzionalità e delle API

Android 13 introduce nuove fantastiche funzionalità e API per gli sviluppatori. Le sezioni seguenti ti aiutano a scoprire le funzionalità per le tue app e a iniziare a utilizzare le API correlate.

Per un elenco dettagliato delle API nuove, modificate e rimosse, leggi il report sulle differenze delle API. Per informazioni dettagliate sulle nuove API, visita il Riferimento API Android, dove le nuove API sono evidenziate per una maggiore visibilità. Inoltre, per scoprire le aree in cui le modifiche alla piattaforma potrebbero influire sulle tue app, assicurati di consultare le modifiche al comportamento di Android 13 per le app che hanno come target Android 13 e per tutte le app.

Produttività e strumenti per gli sviluppatori

Icone delle app a tema

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

A partire da Android 13, puoi attivare le icone delle app a tema. Con questa funzionalità, le icone delle app nei launcher Android supportati vengono colorate per ereditare la colorazione dello sfondo scelto dall'utente e di altri temi.

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

La schermata Home NON mostra l'icona dell'app a tema, ma mostra l'icona dell'app adattiva o standard in uno dei seguenti scenari:

  • Se l'utente non ha attivato le icone delle app a tema
  • Se la tua app non fornisce un'icona dell'app monocromatica
  • Se il programma di avvio non supporta le icone delle app a tema

Per maggiori dettagli e istruzioni, consulta 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 l'olandese, il cinese o l'hindi. Per aiutare le app a 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 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 di sistema in fase di esecuzione.

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

    Per 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.

Miglioramento del supporto di testo e lingue

Android 13 include diversi miglioramenti relativi a testo e lingua che ti aiutano a offrire un'esperienza più raffinata, descritta nelle sezioni seguenti:

Sillabazione più rapida

La sillabazione semplifica la lettura del testo con ritorno a capo e contribuisce a rendere la UI più adattabile. A partire da Android 13, le prestazioni della sillabazione sono ottimizzate fino al 200%, quindi puoi attivarla in TextView con un impatto quasi nullo sulle prestazioni di rendering. Per attivare 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 immissione di caratteri fonetici, che spesso rallentano la ricerca e funzionalità come il completamento automatico. In Android 13, le app possono chiamare la nuova API di conversione del testo in modo che gli utenti possano trovare ciò che cercano in modo più rapido e semplice. In precedenza, ad esempio, per eseguire una ricerca, un utente giapponese doveva seguire questi passaggi:

  1. Inserire gli 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. Esegui una nuova ricerca utilizzando i caratteri kanji
  4. Infine, ottengono i risultati di ricerca

Con la nuova API di conversione del testo, gli utenti giapponesi possono digitare in hiragana e visualizzare immediatamente i risultati di ricerca in kanji, saltando i passaggi 2 e 3.

Altezze delle righe migliorate per gli alfabeti non latini

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

Le altezze delle righe che venivano tagliate in Android 12 (sopra) ora sono posizionate meglio e non vengono tagliate in Android 13 (sotto).

Testo a capo in giapponese migliorato

A partire da Android 13, le TextView possono andare a capo per Bunsetsu (la più piccola unità di parole che suona naturale) o per frasi, anziché per carattere, per applicazioni giapponesi più raffinate e leggibili. Puoi sfruttare questo ritorno a capo utilizzando android:lineBreakWordStyle="phrase" con TextView.

Testo a capo in giapponese con lo stile delle frasi attivato (in basso) e senza (in alto).

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 importanti:

  • Inglese (Canada) en‑CA e Inglese (Repubblica delle Filippine) en‑PH utilizzano entrambe le risorse di traduzione Inglese (Stati Uniti) en quando non sono disponibili risorse di traduzione, anziché 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 in CLDR v38, viene utilizzato per i numeri grandi.

Font vettoriali a colori

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

A partire da Android 13, il sistema include il supporto del rendering per i caratteri COLR versione 1 (COLRv1) e aggiorna le emoji di sistema al formato COLRv1. COLRv1 è un formato di carattere altamente compatto che viene visualizzato in modo rapido e nitido in qualsiasi dimensione.

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

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

API di posizionamento delle Impostazioni rapide

Le Impostazioni rapide nell'area notifiche sono un modo pratico per gli utenti di modificare le impostazioni o eseguire azioni rapide senza uscire dal contesto di un'app. Per le app che forniscono riquadri personalizzati, stiamo semplificando la scoperta e l'aggiunta dei riquadri alle Impostazioni rapide da parte degli utenti. Utilizzando una nuova API di posizionamento dei riquadri, la tua app ora può chiedere all'utente di aggiungere direttamente il tuo riquadro personalizzato all'insieme di riquadri Impostazioni rapide attivi. Una nuova finestra di dialogo di sistema consente all'utente di aggiungere il riquadro in un solo passaggio, senza uscire dall'app, anziché dover andare alle Impostazioni rapide per aggiungere il riquadro.

Una finestra di dialogo che chiede all'utente se vuole aggiungere un riquadro alle Impostazioni rapide.

Anteprima degli appunti

A partire da Android 13, il sistema mostra una conferma visiva standard quando i contenuti vengono aggiunti agli appunti. La nuova conferma esegue le seguenti operazioni:

  • 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 di grandi dimensioni e pieghevoli. Per supportare questa funzionalità, devi aggiornare l'app.

Per consultare la documentazione dettagliata, vedi Aggiorna l'app per supportare un gesto Indietro predittivo. Puoi anche provare il nostro codelab.

Bluetooth LE audio

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

MIDI 2.0

A partire da Android 13, il sistema include il supporto dello 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 un'esecuzione più espressiva utilizzando i controller per nota.

Miglioramenti dell'efficienza della schermata iniziale

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

  • 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 un maggiore controllo sulla visualizzazione o meno dell'icona nella schermata iniziale in Android 13 e versioni successive.

Per consultare la documentazione dettagliata, vedi Schermate iniziali.

Ottimizzazioni ART

In Android 13 (livello API 33) e versioni successive, ART velocizza notevolmente il passaggio da e verso il codice nativo, con chiamate JNI ora fino a 2,5 volte più veloci. Anche l'elaborazione dei riferimenti di runtime è stata rielaborata per renderla per lo più non bloccante, riducendo ulteriormente i jank. Inoltre, puoi utilizzare l'API pubblica 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 una maggiore verifica del bytecode al momento dell'installazione, evitando i costi della verifica in fase di runtime e mantenendo rapidi i tempi di avvio delle app.

Privacy e sicurezza

Esportazione più sicura dei ricevitori registrati nel contesto

Per contribuire a rendere più sicuri i receiver di runtime, Android 13 introduce la possibilità per la tua app di specificare se un broadcast receiver 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 ricevitore non fosse protetto da un'autorizzazione di firma.

Questa configurazione di esportazione è disponibile per le app che eseguono almeno una delle seguenti operazioni:

Selettore di foto

Android 13 (livello API 33) e versioni successive includono un'esperienza con il selettore di foto. Quando l'app avvia il selettore di foto, gli utenti selezionano immagini e video specifici da condividere con l'app, ad esempio le 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 per gli utenti perché la tua app non deve dichiarare alcuna autorizzazione di runtime. Inoltre, il selettore di foto fornisce un'interfaccia utente integrata e standardizzata 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, se le app non ricavano 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 l'utilizzo delle 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 alla tua app. Tuttavia, affinché la tua app possa utilizzare questa autorizzazione, deve soddisfare almeno uno dei seguenti criteri:

  • L'app è una sveglia o un timer.
  • La tua app è un calendario che mostra notifiche per gli eventi imminenti.

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

Autorizzazioni rimovibili dagli sviluppatori

A partire da Android 13, la tua app può revocare l'accesso alle autorizzazioni di runtime inutilizzate. Questa API consente alla tua app di eseguire attività che migliorano la privacy, ad esempio:

  • Rimuovi le autorizzazioni inutilizzate.
  • Rispetta le best practice relative alle autorizzazioni, che migliorano la fiducia degli utenti. Ti consigliamo di mostrare agli utenti una finestra di dialogo con le autorizzazioni che hai revocato in modo proattivo.

Schema di firma dell'APK v3.1

Android 13 aggiunge il supporto dello schema di firma dell'APK v3.1, che migliora lo schema di firma dell'APK v3 esistente. Questo schema risolve alcuni dei problemi noti dello schema di firma dell'APK v3 relativi 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 v3.1 utilizza un ID blocco non riconosciuto su 12L o versioni precedenti. Pertanto, la piattaforma applica il seguente comportamento del firmatario:

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

Le app che non hanno ancora ruotato la chiave di firma non richiedono ulteriori azioni. Ogni volta che queste app scelgono di ruotare, il sistema applica lo schema di firma v3.1 per impostazione predefinita.

Le app che hanno già eseguito la rotazione e vogliono continuare a utilizzare la chiave di firma ruotata nel blocco di firma v3.0 devono aggiornare la chiamata di 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 è 32 o un valore inferiore.

Miglioramento di Error Reporting in Keystore e KeyMint

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

Supporto per tablet e schermi di grandi dimensioni

Android 13 si basa sulle ottimizzazioni per tablet introdotte in Android 12 e sul rilascio di funzionalità 12L, tra cui ottimizzazioni per la UI di sistema, un multitasking migliore e modalità di compatibilità migliorate. Nell'ambito dei test, assicurati che le tue app abbiano un aspetto ottimale su tablet e altri dispositivi con schermi di grandi dimensioni.

Per saperne di più sulle novità e su cosa testare, consulta la pagina Supporto per tablet e schermi di grandi dimensioni.

Grafica

Shader programmabili

Un shader animato AGSL, adattato da questo shader GLSL.

A partire da Android 13, il sistema include il supporto per gli oggetti RuntimeShader programmabili, con un comportamento definito utilizzando l'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 del canvas di Android e il filtro dei contenuti delle visualizzazioni. Android utilizza internamente questi shader per implementare effetti di increspatura, sfocatura e overscroll allungato. Android 13 e versioni successive ti consentono di creare effetti avanzati simili per la tua app.

Miglioramenti di Choreographer

Android 13 introduce metodi API pubblici per Choreographer e ASurfaceControl che forniscono alle app maggiori informazioni sulle possibili cronologie dei frame e aggiungono più contesto a SurfaceFlinger sul ciclo di vita dei frame. Come in precedenza, le app possono pubblicare un callback su Choreographer e ricevere informazioni sulla cronologia dei frame. In Android 13 (livello API 33), Choreographer restituisce più tempi di presentazione possibili e le relative scadenze dei frame. Le app possono scegliere l'ora di presentazione e, successivamente, notificare SurfaceFlinger della scelta. SurfaceFlinger non tenta quindi di applicare transazioni o buffer di latch prima del tempo di presentazione desiderato.

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 di video HDR

A partire da Android 13, le API Camera2 supportano l'acquisizione di video High Dynamic Range (HDR), che ti consente di visualizzare l'anteprima e registrare contenuti video HDR utilizzando la fotocamera. Rispetto allo Standard Dynamic Range (SDR), l'HDR offre una gamma di colori più ampia e aumenta la gamma dinamica della componente di luminanza (dagli attuali 100 cd/m2 a migliaia di cd/m2). In questo modo, la qualità video è più vicina alla realtà, con colori più ricchi, punti luce più luminosi e ombre più scure.

Per scoprire di più sull'acquisizione di video HDR, consulta la documentazione sull'acquisizione di video HDR.

Media

Audio spaziale

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

Routing audio predittivo

Per aiutare le app multimediali a identificare il modo in cui l'audio verrà indirizzato, Android 13 introduce le API di routing audio nella classe AudioManager. L'API getAudioDevicesForAttributes() ti consente di recuperare un elenco di dispositivi che possono essere utilizzati per riprodurre l'audio specificato, mentre l'API getDirectProfilesForAttributes() ti aiuta a capire se lo stream audio può essere riprodotto direttamente. Utilizza queste API per determinare il AudioFormat migliore 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 le descrizioni audio in tutte le app. Una descrizione audio è una traccia di narrazione aggiuntiva che consiste in un narratore che parla durante la presentazione, descrivendo ciò che accade sullo schermo durante le pause naturali dell'audio. Le app possono seguire la preferenza dell'utente per le tracce di descrizione audio eseguendo una query con isAudioDescriptionRequested(), come mostrato nello snippet di codice seguente:

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 principali di Android per allinearle alla release OpenJDK 11 LTS con aggiornamenti delle librerie e 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 al modulo ART Mainline.

Android 13 include le seguenti modifiche alle librerie principali:

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

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

  • Supporto di ifPresentOrElse(), isEmpty(), orElseThrow() e stream() nelle classi java.util Optional, OptionalDouble, OptionalInt e OptionalLong.

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

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

  • Aggiunta la funzionalità per la codifica e la decodifica degli URL utilizzando Charsets.

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

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

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

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

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