Panoramica delle funzionalità e delle API

Android 13 introduce nuove fantastiche funzionalità e API per gli sviluppatori. Le sezioni di seguito ti aiutano a scoprire le funzionalità delle 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 tra le API. Per informazioni dettagliate sulle nuove API, visita la documentazione di riferimento delle API Android. 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, consulta 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à, la tua app deve fornire sia un'icona adattiva sia un'icona dell'app monocromatica e puntare a quest'ultima dall'elemento <adaptive-icon> nel manifest. Se un utente ha attivato le icone delle app a tema (ovvero ha attivato il pulsante di attivazione/disattivazione Icone a tema nelle impostazioni di sistema) e il launcher supporta questa funzionalità, il sistema utilizza la colorazione dello sfondo e del tema scelti dall'utente per determinare il colore della tinta, che poi applica 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 monocromatica
  • Se il launcher non supporta le icone delle app a tema

Per maggiori 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, come 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 runtime.

    Queste API si sincronizzano automaticamente con le impostazioni di sistema, pertanto le app che le utilizzano per creare selettori di lingua personalizzati in-app garantiranno ai propri utenti un'esperienza utente coerente, indipendentemente da dove selezionano le preferenze della 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, in AndroidX sono disponibili anche API equivalenti. 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 lingua

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

Sillabazione più rapida

La sillabazione rende più facile la lettura del testo a capo e contribuisce a rendere più adattabile la UI. A partire da Android 13, le prestazioni di sillabazione sono ottimizzate fino al 200%, quindi puoi attivarla in TextView senza quasi alcun impatto sulle prestazioni di rendering. Per attivare la 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 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 più rapidamente e facilmente. In precedenza, ad esempio, la ricerca richiedeva a un utente giapponese di eseguire questi passaggi:

  1. Inserisci gli hiragana come pronuncia fonetica del termine di ricerca (ad esempio un luogo o il nome di un'app).
  2. Utilizzare la tastiera per convertire i caratteri Hiragana in Kanji
  3. Esegui di nuovo la 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 vedere immediatamente i risultati di ricerca in Kanji in tempo reale, saltando i passaggi 2 e 3.

Altezze riga migliorate per i sistemi di scrittura non latini

Android 13 migliora la visualizzazione dei sistemi di scrittura non latini (come tamil, birmano, telugu e tibetano) utilizzando un'altezza della riga adattata a 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 come target Android 13. Assicurati di testare le tue app quando utilizzi la nuova spaziatura tra le righe, perché le modifiche potrebbero influire sulla tua UI nelle lingue non latine.

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

Miglioramento del testo a capo in giapponese

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

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

Aggiornamenti della libreria Unicode

Android 13 aggiunge i miglioramenti, le correzioni e le modifiche più recenti inclusi in Unicode ICU 70, Unicode CLDR 40 e Unicode 14.0.

Ecco alcune modifiche importanti:

  • L'inglese (Canada) en‑CA e l'inglese (Repubblica delle Filippine) en‑PH utilizzano entrambi le risorse di traduzione dell'inglese (Stati Uniti) en quando non sono disponibili risorse di traduzione, anziché l'inglese (Regno Unito) en‑GB.
  • È stata introdotta la categoria plurale many per spagnolo es, italiano it, portoghese pt e portoghese (Portogallo) pt‑PT. Simile al francese introdotto nella versione 38 di CLDR, viene utilizzato per i numeri grandi.

Caratteri vettoriali a colori

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

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

Per la maggior parte delle app, il sistema gestisce tutto e COLRv1 funziona. Tuttavia, se la tua app implementa il 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 delle Impostazioni rapide

Le Impostazioni rapide nella barra delle notifiche consentono agli 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. Utilizzando una nuova API per il posizionamento dei riquadri, la tua app ora può chiedere all'utente di aggiungere direttamente il riquadro personalizzato all'insieme di riquadri delle Impostazioni rapide attive. 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 in Impostazioni rapide per aggiungere il riquadro.

Una finestra di dialogo che chiede all&#39;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 di indietro predittivo per i dispositivi Android come smartphone, schermi di grandi dimensioni e pieghevoli. Per supportare questa funzionalità, devi aggiornare l'app.

Per visualizzare la documentazione dettagliata, vedi Aggiornare l'app per supportare un gesto di indietro predittivo. Puoi anche provare il nostro codelab.

Bluetooth LE audio

L'LE (Low Energy) audio è un sistema 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 il proprio audio con 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 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 connettere 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 grazie ai 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 windowSplashScreenAnimationDuration direttamente.

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

Per visualizzare la documentazione dettagliata, consulta Schermate iniziali.

Ottimizzazioni ART

In Android 13 (livello API 33) e versioni successive, ART rende il passaggio al codice nativo e viceversa molto più veloce, 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, il che riduce ulteriormente i problemi di scattosità. 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 verifica più approfondita del bytecode al momento dell'installazione, evitando la spesa di 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 ricevitori 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 quest'ultimo non fosse protetto da un' autorizzazione con firma.

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

Selettore di foto

Android 13 (livello API 33) e versioni successive includono un'esperienza selettore di foto. Quando la tua app avvia il selettore di foto, gli utenti selezionano immagini e video specifici da condividere con la tua app, ad esempio le foto del profilo, anziché concedere alla tua 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 fornisce un'interfaccia utente standardizzata e 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 a 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 derivano 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:

  • La tua app è una sveglia o un timer.
  • La tua app è un calendario che mostra le 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 non utilizzate.
  • Rispetta le best practice per le autorizzazioni, in modo da migliorare la fiducia degli utenti. Ti consigliamo di mostrare agli utenti una finestra di dialogo che visualizzi 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 l'esistente schema di firma dell'APK v3. 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 la rotazione per il targeting di 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 che eseguono versioni precedenti di Android ignorano il firmatario ruotato e utilizzano invece il firmatario originale nel blocco v3.0.

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

Le app per cui è già stata eseguita la rotazione e che 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 meno.

Migliore segnalazione degli errori 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 di Keystore/KeyMint e se l'errore è riproducibile. Puoi anche modificare i metodi per la generazione e l'utilizzo delle chiavi (firma, crittografia) per generare le nuove eccezioni. La segnalazione degli errori migliorata non è limitata alla generazione delle chiavi e ora dovrebbe fornirti tutto ciò che ti serve per riprovare a generare le chiavi.

Supporto per tablet e schermi di grandi dimensioni

Android 13 si basa sulle ottimizzazioni per i tablet introdotte in Android 12 e nel rilascio di funzionalità 12L, tra cui ottimizzazioni per l'interfaccia utente di sistema, 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 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 oggetti RuntimeShader programmabili, con 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 del canvas di Android e il filtraggio dei contenuti della visualizzazione. Android utilizza internamente questi shader per implementare effetti a increspatura, sfocatura e scorrimento eccessivo allungato. Android 13 e versioni successive ti consentono di creare effetti avanzati simili per la tua app.

Miglioramenti per i coreografi

Android 13 introduce metodi API pubblici per Choreographer e ASurfaceControl che forniscono alle app maggiori informazioni sulle possibili tempistiche dei frame e aggiungono più contesto a SurfaceFlinger sul ciclo di vita dei frame. Come in precedenza, le app possono registrare un callback su Choreographer e ricevere informazioni sulla sequenza temporale dei frame. In Android 13 (livello API 33), Choreographer restituisce più possibili tempi di presentazione e le scadenze dei frame corrispondenti. Le app possono scegliere l'ora di presentazione e successivamente notificare SurfaceFlinger la scelta. SurfaceFlinger non tenta di applicare transazioni o buffer di latch prima dell'ora di presentazione desiderata.

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 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 più ampia di colori e aumenta la gamma dinamica del componente di luminanza (dalle attuali 100 cd/m² a migliaia di cd/m²). Il risultato è una qualità video più fedele alla realtà, con colori più ricchi, luci più brillanti e ombre più scure.

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

Contenuti multimediali

Audio spaziale

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

Routing audio anticipato

Per aiutare le app multimediali a identificare come verrà instradato l'audio, Android 13 introduce 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 il tuo stream audio può essere riprodotto direttamente. Utilizza queste API per determinare il miglior AudioFormat da utilizzare per la 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 in cui un narratore 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 l'aggiornamento delle librerie principali di Android per allinearle alla release LTS di OpenJDK 11 con aggiornamenti delle librerie e supporto del linguaggio Java 11 per gli sviluppatori di applicazioni e piattaforme. Le modifiche alla libreria principale introdotte in Android 13 saranno disponibili anche per i dispositivi Android 12 tramite un aggiornamento di sistema Google Play al modulo Mainline ART.

Android 13 include le seguenti modifiche alle librerie principali:

  • Supporto della parola chiave var per le variabili locali e come parametri lambdas.
  • 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() 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.

  • È stata aggiunta la funzionalità di codifica e 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 del compilatore per java.lang.invoke.VarHandle.

  • Aggiornamenti 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.