Panoramica delle funzionalità e delle API

Android 13 introduce nuove API e funzionalità fantastiche per gli sviluppatori. Le sezioni riportate di seguito 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, consulta 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 controllare 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

Attivazione delle icone delle app a tema da parte dell'utente
Attivare le 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 lanci di Android supportati vengono colorate in modo da ereditare la colorazione dello sfondo e di altri temi scelti dall'utente.

Per supportare questa funzionalità, l'app deve fornire sia un'icona adattabile sia un'icona monocromatica e deve indicare l'icona 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 di attivazione/disattivazione Icone a tema nelle impostazioni di sistema) e il programma di avvio supporta questa funzionalità, il sistema utilizza la colorazione dello sfondo e del tema scelti dall'utente per determinare il colore della tinta, che poi viene applicato all'icona dell'app monocromatica.

La schermata Home NON mostra l'icona dell'app a tema, ma l'icona dell'app adattabile 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 Avvio applicazioni non supporta le icone delle app a tema

Per maggiori dettagli e istruzioni, vedi Icone adattabili.

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 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: un'area centralizzata in cui gli utenti possono selezionare la lingua preferita per ogni app.

    L'app deve dichiarare l'attributo android:localeConfig nel file manifest per indicare 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 di lingue in-app personalizzati garantiranno ai propri utenti un'esperienza utente coerente, indipendentemente da dove selezionano le preferenze relative alle lingue. Le API pubbliche ti aiutano anche a ridurre la quantità di codice boilerplate, supportano gli APK divisi e supportano il backup automatico per le app per memorizzare le impostazioni della lingua dell'utente a livello di app.

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

Queste modifiche non interessano le app che non supportano più lingue.

Miglioramento del supporto di testo e lingua

Android 13 include diversi miglioramenti del testo e del linguaggio delle funzionalità che ti aiutano a offrire un'esperienza più raffinata, descritta nelle sezioni seguenti:

Spartizione in sillabe più rapida

L'inserimento di trattini consente di leggere più facilmente il testo a capo e contribuisce a rendere l'interfaccia utente più adattabile. A partire da Android 13, il rendimento dell'accatastamento è ottimizzato fino al 200%, quindi puoi attivarlo in TextView con un impatto quasi nullo sul rendimento del rendering. Per attivare l'accatastamento più velocemente, utilizza le frequenze fullFast o normalFast in setHyphenationFrequency().

API di conversione di testo

Le persone che parlano lingue come il giapponese e il cinese utilizzano metodi di inserimento di lettere fonetiche, 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 più facilmente ciò che cercano. In precedenza, ad esempio, per eseguire una ricerca un utente giapponese doveva seguire questi passaggi:

  1. Inserire l'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 di nuovo la ricerca utilizzando i caratteri Kanji
  4. Finalmente visualizzano 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, saltando i passaggi 2 e 3.

Altezza riga migliorata per gli script non latini

Android 13 migliora la visualizzazione di scritture non latine (ad esempio 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 impostando come target Android 13. Assicurati di testare le app quando utilizzi il nuovo interlinea, perché le modifiche potrebbero influire sull'interfaccia utente nelle lingue diverse dal latino.

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

Miglioramento del testo a capo in giapponese

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

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

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

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

Caratteri vettoriali a colori

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

A partire da Android 13, il sistema include il supporto di rendering per i caratteri COLR 1 (COLRv1) e aggiorna le emoji di sistema al formato COLRv1. COLRv1 è un formato di carattere estremamente 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. Tuttavia, se la tua app implementa il proprio rendering del testo e utilizza i caratteri di 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 nella barra delle notifiche sono un modo pratico per consentire 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 possibilità per gli utenti di trovarli e aggiungerli alle Impostazioni rapide. Con una nuova API di posizionamento dei riquadri, ora la tua app 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 la scheda in un solo passaggio, senza uscire dall'app, anziché dover andare alle Impostazioni rapide per aggiungerla.

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

Anteprima appunti

A partire da Android 13, il sistema mostra una conferma visiva standard quando i contenuti vengono aggiunti alla clipboard. La nuova conferma esegue 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 sulla clipboard. Per ulteriori informazioni, consulta la pagina della funzionalità Copia e incolla.

Widget di copia/incolla
Nuova interfaccia utente visualizzata quando i contenuti vengono inseriti negli appunti.

Gesto Indietro predittivo

Android 13 introduce un gesto di ritorno predittivo per i dispositivi Android, come smartphone, schermi di grandi dimensioni e dispositivi pieghevoli. Per supportare questa funzionalità, devi aggiornare l'app.

Per consultare la documentazione dettagliata, vedi Aggiornare l'app per supportare un gesto di scambio 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 abilitare determinati casi d'uso e topologie di connessione. Consente agli utenti di condividere e trasmettere i propri contenuti audio ad amici e familiari oppure 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 possono passare senza problemi da un caso d'uso all'altro, cosa non possibile con il Bluetooth classico. A partire da Android 13, il sistema include il supporto integrato per LE Audio, pertanto 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 l'hardware MIDI 2.0 tramite USB. Questo standard offre funzionalità come una maggiore risoluzione per i controller, un supporto migliore per l'intonazione non occidentale e un rendimento più espressivo mediante 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 dal AnimatedVectorDrawable. Prima di Android 13, era necessario impostare direttamente il valore windowSplashScreenAnimationDuration.

  • Utilizza il nuovo attributo windowSplashScreenBehavior per avere un maggiore controllo su se la tua app mostra sempre l'icona nella schermata iniziale su Android 13 e versioni successive.

Per visualizzare la documentazione dettagliata, consulta Schermi di benvenuto.

Ottimizzazioni ART

In Android 13 (livello API 33) e versioni successive, ART semplifica il passaggio al codice nativo e viceversa, 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 il jitter. Inoltre, puoi utilizzare l'API pubblica Reference.refersTo() per recuperare prima gli oggetti non raggiungibili e noterai che interprete ora è più veloce grazie alle ricerche di classi e metodi ottimizzate. ART inoltre esegue più verifiche del bytecode al momento dell'installazione, evitando la spesa della verifica in fase di esecuzione e mantenendo rapidi i tempi di avvio delle app.

Privacy e sicurezza

Esportazione più sicura dei destinatari registrati in base al 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 destinatario registrato dinamicamente, a meno che questo destinatario 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 di 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, come le immagini 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 autorizzazioni di runtime. Inoltre, il selettore di foto fornisce 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, a condizione che le app non derivino la posizione fisica dalle API Wi-Fi, non devono dichiarare l'autorizzazione ACCESS_FINE_LOCATION se hanno come target Android 13 o versioni successive.

Scopri di più sull'autorizzazione per i 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 notifiche per gli eventi imminenti.

Se la tua app imposta sveglie esatte, ma non soddisfa nessuna delle condizioni riportate 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 non utilizzate. 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 mostri le autorizzazioni che hai revocato in modo proattivo.

Schema di firma dell'APK v3.1

Android 13 aggiunge il supporto per lo schema di firma dell'APK v3.1, che migliora lo schema di firma dell'APK v3 esistente. Questo schema risolve alcuni dei problemi noti con lo schema di firma dell'APK v3 in merito alla rotazione. In particolare, lo schema di firma v3.1 supporta il targeting della versione dell'SDK, che consente 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 di cui non è stata ancora ruotata la chiave di firma non richiedono alcun'altra azione. Ogni volta che queste app scelgono di ruotare, il sistema applica per impostazione predefinita lo schema di firma v3.1.

Le app che hanno già eseguito la rotazione e vogliono continuare a utilizzare la chiave di firma ruotata nel blocco di firma della versione 3.0 devono aggiornare l'invocazione 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.

Segnalazioni di errori migliorate 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 eccezione in java.security.ProviderException, con eccezioni specifiche per Android che includono i codici di errore Keystore/KeyMint e indicano se l'errore può essere ripetuto. Puoi anche modificare i metodi di generazione e utilizzo delle chiavi (firma, crittografia) per generare le nuove eccezioni. I report di errori migliorati non sono limitati alla generazione di chiavi e ora dovrebbero fornirti ciò che ti serve per riprovare a generare le chiavi.

Supporto di tablet e schermi di grandi dimensioni

Android 13 si basa sulle ottimizzazioni per i tablet introdotte in Android 12 e nel rilascio di funzionalità di 12L, tra cui ottimizzazioni per l'interfaccia utente di sistema, multitasking migliore e modalità di compatibilità migliorate. Durante i 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 per 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, con comportamento definito utilizzando il linguaggio di shading grafico Android (AGSL). AGSL condivide gran parte della sintassi con GLSL, ma funziona all'interno del motore di rendering di Android per personalizzare la pittura all'interno della tela di Android e filtrare i contenuti della visualizzazione. Android utilizza internamente questi shader per implementare effetti di ripple, sfocatura e overscroll elastico. Android 13 e versioni successive ti consentono di creare effetti avanzati simili per la tua app.

Miglioramenti a Coreografo

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 informazioni sul ciclo di vita dei frame. Come in precedenza, le app possono pubblicare un callback in Choreographer e ricevere informazioni sulla sequenza temporale dei frame. In Android 13 (livello API 33), Choreographer restituisce più possibili tempi di presentazione e le relative scadenze dei frame. Le app possono scegliere l'ora di presentazione e successivamente comunicare la scelta a SurfaceFlinger. SurfaceFlinger non tenta di applicare transazioni o memorizzare i buffer prima del momento 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 video HDR

A partire da Android 13, le API Camera2 supportano l'acquisizione video HDR (High Dynamic Range), che ti consente di visualizzare l'anteprima e registrare contenuti video HDR utilizzando la fotocamera. Rispetto allo standard Dynamic Range (SDR), la tecnologia HDR offre una gamma più ampia di colori e aumenta la gamma dinamica della componente di luminanza (dagli attuali 100 cd/m2 a migliaia di cd/m2). Il risultato è una qualità video più simile alla realtà, con colori più intensi, luci più brillanti e ombre più scure.

Per scoprire di più sulla registrazione video HDR, consulta la documentazione relativa alla registrazione 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 informazioni dettagliate su come eseguire l'integrazione con questa funzionalità.

Routing audio predittivo

Per aiutare le app multimediali a identificare il modo in cui verrà indirizzato l'audio, 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 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 audio aggiuntiva che consiste in una voce narrante 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 ascoltatore 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 avvia l'aggiornamento delle librerie di base di Android in modo da allinearsi alla release LTS OpenJDK 11 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 di Google Play al Modulo principale ART.

Android 13 include le seguenti modifiche alle librerie di base:

  • 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() nei gruppi java.util Optional, OptionalDouble, OptionalInt e OptionalLong.

  • Supporto esteso per SocketOptions, incluso il riutilizzo delle prese.

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

  • È stata aggiunta la funzionalità di codifica e decodifica dell'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 VarHandle internamente.

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