Android Studio 3.3 (gennaio 2019)

Android Studio 3.3 è una release principale che include una serie di nuove funzionalità e miglioramenti.

3.3.2 (marzo 2019)

Questo aggiornamento minore include varie correzioni di bug e miglioramenti delle prestazioni. Per visualizzare un elenco di correzioni di bug importanti, leggi il post correlato sul blog degli aggiornamenti delle release.

3.3.1 (febbraio 2019)

Questo aggiornamento minore include varie correzioni di bug e miglioramenti delle prestazioni.

IntelliJ IDEA 2018.2.2

L'IDE Android Studio principale è stato aggiornato con i miglioramenti di IntelliJ IDEA tramite la release 2018.2.2.

Aggiornamenti del plug-in Android per Gradle

Per informazioni sulle novità del plug-in Android per Gradle, consulta le relative note di rilascio.

L'editor di navigazione ti consente di visualizzare e creare rapidamente la navigazione nella tua app utilizzando il componente dell'architettura di navigazione.

Per maggiori informazioni, vedi Implementare la navigazione con il componente dell'architettura di navigazione.

Eliminare le directory di Android Studio inutilizzate

Quando esegui una versione principale di Android Studio per la prima volta, cerca le directory contenenti cache, impostazioni, indici e log per le versioni di Android Studio per le quali non è possibile trovare un'installazione corrispondente. Viene visualizzata la finestra di dialogo Elimina directory Android Studio inutilizzate, che mostra le posizioni, le dimensioni e le date di ultima modifica di queste directory inutilizzate e offre un'opzione per eliminarle.

Le directory che Android Studio prende in considerazione per l'eliminazione sono elencate di seguito:

  • Linux: ~/.AndroidStudio[Preview]X.Y
  • Mac: ~/Library/{Preferences, Caches, Logs, Application Support}/AndroidStudio[Preview]X.Y
  • Windows: %USER%.AndroidStudio[Preview]X.Y

Miglioramenti di lint

Lint, se richiamato da Gradle, è molto più veloce: i progetti più grandi possono prevedere che Lint venga eseguito fino a quattro volte più velocemente.

Procedura guidata Crea nuovo progetto

La procedura guidata Crea nuovo progetto ha un nuovo aspetto e contiene aggiornamenti che aiutano a semplificare la creazione di nuovi progetti Android Studio.

Per saperne di più, consulta Creare un progetto.

Aggiornamenti di Profiler

Android Studio 3.3 include aggiornamenti a diversi profiler individuali.

Prestazioni migliorate

In base al feedback degli utenti, le prestazioni di rendering durante l'utilizzo dei profiler sono state notevolmente migliorate. Continua a fornire feedback, soprattutto se continui a riscontrare problemi di prestazioni.

Opzioni di monitoraggio dell'allocazione della memoria di Profiler

Per migliorare le prestazioni dell'app durante la profilazione, Memory Profiler ora campiona periodicamente le allocazioni di memoria per impostazione predefinita. Se vuoi, puoi modificare questo comportamento utilizzando il menu a discesa Monitoraggio dell'allocazione durante il test sui dispositivi con Android 8.0 (livello API 26) o versioni successive.

Nel menu a discesa Monitoraggio allocazione puoi scegliere tra le seguenti modalità:

  • Completo:acquisisce tutte le allocazioni di memoria degli oggetti. Tieni presente che se hai un'app che alloca molti oggetti, potresti riscontrare problemi di prestazioni significativi durante la profilazione.

  • Campionato:acquisisce un campione periodico delle allocazioni di memoria degli oggetti. Questo è il comportamento predefinito e ha un impatto minore sulle prestazioni dell'app durante la profilazione. Potresti riscontrare alcuni problemi di prestazioni con le app che allocano molti oggetti in un breve periodo di tempo.

  • Off:disattiva l'allocazione della memoria. Se non è già selezionata, questa modalità viene attivata automaticamente durante l'acquisizione di una registrazione della CPU e poi ripristinata all'impostazione precedente al termine della registrazione. Puoi modificare questo comportamento nella finestra di dialogo di configurazione della registrazione della CPU.

    Il monitoraggio riguarda sia gli oggetti Java che i riferimenti JNI.

Ispezionare i dati di rendering dei frame

In CPU Profiler, ora puoi esaminare il tempo impiegato dalla tua app Java per eseguire il rendering di ogni frame nel thread UI principale e in RenderThread. Questi dati potrebbero essere utili per esaminare i colli di bottiglia che causano problemi di UI e frame rate bassi. Ad esempio, ogni frame che richiede più di 16 ms per mantenere un framerate fluido viene visualizzato in rosso.

Per visualizzare i dati di rendering dei frame, registra una traccia utilizzando una configurazione che ti consenta di tracciare le chiamate di sistema. Dopo aver registrato la traccia, cerca le informazioni su ogni frame lungo la cronologia della registrazione nella sezione FRAME, come mostrato di seguito.

Per scoprire di più su come analizzare e risolvere i problemi di framerate, leggi Rendering lento.

Frammenti nella cronologia degli eventi

La sequenza temporale degli eventi ora mostra quando i frammenti vengono allegati e staccati. Inoltre, quando passi il mouse sopra un frammento, una descrizione comando mostra lo stato del frammento.

Visualizzare il testo formattato per i payload di connessione in Network Profiler

In precedenza, Network Profiler visualizzava solo il testo non elaborato dei payload di connessione. Android Studio 3.3 ora formatta per impostazione predefinita alcuni tipi di testo, tra cui JSON, XML e HTML. Nelle schede Risposta e Richiesta, fai clic sul link Visualizza analisi per visualizzare il testo formattato e fai clic sul link Visualizza origine per visualizzare il testo non elaborato.

Per ulteriori informazioni, consulta Ispezionare il traffico di rete con Network Profiler.

Download automatico dei componenti dell'SDK

Quando il tuo progetto richiede un componente SDK dalle piattaforme SDK, NDK o CMake, Gradle ora tenta di scaricare automaticamente i pacchetti richiesti, a condizione che tu abbia precedentemente accettato eventuali contratti di licenza correlati utilizzando SDK Manager.

Per ulteriori informazioni, vedi Download automatico dei pacchetti mancanti con Gradle.

Supporto per Clang-Tidy

Android Studio ora include il supporto per l'analisi statica del codice utilizzando Clang-Tidy per i progetti che includono codice nativo. Per abilitare il supporto di Clang-Tidy, aggiorna l'NDK alla versione r18 o successive.

Puoi quindi attivare o riattivare le ispezioni aprendo la finestra di dialogo Impostazioni o Preferenze e andando a Editor > Ispezioni > C/C++ > Generale > Clang-Tidy. Quando selezioni questo controllo nella finestra di dialogo Impostazioni o Preferenze, puoi anche visualizzare l'elenco dei controlli Clang-Tidy attivati e disattivati nella sezione Opzione del riquadro più a destra. Per attivare controlli aggiuntivi, aggiungili all'elenco e fai clic su Applica.

Per configurare Clang-Tidy con opzioni aggiuntive, fai clic su Configura opzioni di controllo Clang-Tidy e aggiungile nella finestra di dialogo che si apre.

Rimozione delle opzioni per la personalizzazione di C++

Le seguenti opzioni sono state rimosse dalla finestra di dialogo Personalizza il supporto C++:

  • Supporto delle eccezioni (-fexceptions)
  • Supporto delle informazioni sul tipo di runtime (-ftti)

I rispettivi comportamenti sono abilitati per tutti i progetti creati tramite Android Studio.

CMake versione 3.10.2

La versione 3.10.2 di CMake è ora inclusa in SDK Manager. Tieni presente che Gradle utilizza ancora la versione 3.6.0 per impostazione predefinita.

Per specificare una versione di CMake da utilizzare per Gradle, aggiungi quanto segue al file build.gradle del modulo:

    android {
        ...
        externalNativeBuild {
            cmake {
                ...
                version "3.10.2"
            }
        }
    }
    
  

Per ulteriori informazioni sulla configurazione di CMake in build.gradle, vedi Configurare Gradle manualmente.

Nuova sintassi "+" per specificare le versioni minime di CMake

Quando specifichi una versione di CMake nel file build.gradle del modulo principale, ora puoi aggiungere un "+" per corrispondere al comportamento del comando cmake_minimum_required() di CMake.

Attenzione:l'utilizzo della sintassi "+" con altre dipendenze di compilazione è sconsigliato, in quanto le dipendenze dinamiche possono causare aggiornamenti imprevisti delle versioni e difficoltà nella risoluzione delle differenze tra le versioni.

Android App Bundle ora supporta le app istantanee

Android Studio ora ti consente di creare Android App Bundle con il supporto completo di Google Play Instant. In altre parole, ora puoi creare e implementare sia l'app installata sia le app istantanee da un unico progetto Android Studio e includerle in un unico Android App Bundle.

Se stai creando un nuovo progetto Android Studio utilizzando la finestra di dialogo Crea nuovo progetto, assicurati di selezionare la casella accanto a Configura il progetto > Questo progetto supporterà le app istantanee. Android Studio crea quindi un nuovo progetto di app come di consueto, ma include le seguenti proprietà nel manifest per aggiungere il supporto delle app istantanee al modulo base della tua app:

    <manifest ... xmlns:dist="http://schemas.android.com/apk/distribution">
        <dist:module dist:instant="true" />
        ...
    </manifest>
    
  

A questo punto puoi creare un modulo di funzionalità istantanea selezionando File > Nuovo > Nuovo modulo dalla barra dei menu e poi selezionando Modulo di funzionalità dinamica istantanea dalla finestra di dialogo Crea nuovo modulo. Tieni presente che la creazione di questo modulo attiva immediatamente anche il modulo di base dell'app.

Per eseguire il deployment dell'app su un dispositivo locale come esperienza istantanea, modifica la configurazione di esecuzione e seleziona la casella accanto a Generale > Esegui il deployment come app istantanea.

Sincronizzazione dei progetti con una sola variante

La sincronizzazione del progetto con la configurazione di build è un passaggio importante per consentire ad Android Studio di comprendere la struttura del progetto. Tuttavia, questo processo può richiedere molto tempo per i progetti di grandi dimensioni. Se il tuo progetto utilizza più varianti di build, ora puoi ottimizzare le sincronizzazioni del progetto limitandole solo alla variante attualmente selezionata.

Per attivare questa ottimizzazione, devi utilizzare Android Studio 3.3 o versioni successive con il plug-in Android Gradle 3.3.0 o versioni successive. Quando soddisfi questi requisiti, l'IDE ti chiede di attivare questa ottimizzazione quando sincronizzi il progetto. L'ottimizzazione è attivata per impostazione predefinita anche nei nuovi progetti.

Per attivare manualmente questa ottimizzazione, fai clic su File > Impostazioni > Sperimentale > Gradle (Android Studio > Preferenze > Sperimentale > Gradle su Mac) e seleziona la casella di controllo Sincronizza solo la variante attiva.

Nota:al momento, questa ottimizzazione supporta solo i progetti che includono il linguaggio di programmazione Java. Se, ad esempio, l'IDE rileva codice Kotlin o C++ nel tuo progetto, non attiva automaticamente questa ottimizzazione e non devi attivarla manualmente.

Per saperne di più, vedi Attivare la sincronizzazione dei progetti con una sola variante.

Fornire un feedback rapido

Se hai attivato la condivisione delle statistiche di utilizzo per contribuire a migliorare Android Studio, vedrai queste due nuove icone nella barra di stato nella parte inferiore della finestra dell'IDE:

Basta fare clic sull'icona che rappresenta meglio la tua esperienza attuale con l'IDE. In questo modo, l'IDE invia statistiche sull'utilizzo che consentono al team di Android Studio di comprendere meglio il tuo sentiment. In alcuni casi, ad esempio quando indichi un'esperienza negativa con l'IDE, avrai l'opportunità di fornire un feedback aggiuntivo.

Se non l'hai ancora fatto, puoi attivare la condivisione delle statistiche sull'utilizzo aprendo la finestra di dialogo Impostazioni Preferenze su un Mac, andando su Aspetto e comportamento > Impostazioni di sistema > Condivisione dei dati e selezionando Invia statistiche sull'utilizzo a Google.