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 delle correzioni di bug più importanti, leggi il post correlato nel 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 di base è 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 note di rilascio.
Editor di navigazione
Navigation Editor ti consente di visualizzare e creare rapidamente la navigazione nella tua app utilizzando il componente dell'architettura di navigazione.
Per maggiori informazioni, consulta 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, vengono cercate directory contenenti cache, impostazioni, indici e log per le versioni di Android Studio per le quali non è possibile trovare un'installazione corrispondente. La finestra di dialogo Elimina le directory di Android Studio inutilizzate mostra le posizioni, le dimensioni e le date e gli orari dell'ultima modifica di queste directory inutilizzate e offre un'opzione per eliminarle.
Di seguito sono elencate le directory che Android Studio prende in considerazione per l'eliminazione:
- 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 aspettarsi che Lint venga eseguito fino a quattro volte più velocemente.
Assistente per la creazione di un nuovo progetto
La procedura guidata Crea nuovo progetto ha un nuovo aspetto e contiene aggiornamenti che consentono di semplificare la creazione di nuovi progetti Android Studio.
Per scoprire di più, consulta la sezione 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 del profiler
Per migliorare le prestazioni dell'app durante la profilazione, lo strumento Memory Profiler ora esegue il campionamento delle allocazioni di memoria periodicamente per impostazione predefinita. Se vuoi, puoi modificare questo comportamento utilizzando il menu a discesa Monitoraggio dell'allocazione durante il test su dispositivi con Android 8.0 (livello API 26) o versioni successive.
Utilizzando il menu a discesa Monitoraggio dell'allocazione, puoi scegliere tra le seguenti modalità:
-
Completa: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.
-
Campionata:acquisisce un campione periodico delle allocazioni di memoria degli oggetti. Questo è il comportamento predefinito e ha un impatto minore sulle prestazioni delle app durante la profilazione. Potresti riscontrare alcuni problemi di prestazioni per 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 la registrazione di una CPU, per poi tornare all'impostazione precedente al termine della registrazione. Puoi modificare questo comportamento nella finestra di dialogo di configurazione della registrazione della CPU.
Il monitoraggio interessa sia gli oggetti Java che i riferimenti JNI.
Controllare i dati di rendering dei frame
In CPU Profiler, ora puoi controllare il tempo impiegato dalla tua app Java per eseguire il rendering di ogni frame nel thread dell'interfaccia utente principale e in RenderThread. Questi dati potrebbero essere utili durante l'analisi dei colli di bottiglia che causano jank dell'interfaccia utente e frequenze fotogrammi basse. Ad esempio, ogni frame che richiede più di 16 ms per mantenere una frequenza fotogrammi uniforme viene visualizzato in rosso.
Per vedere i dati di rendering del 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 fotogramma lungo la sequenza temporale della registrazione nella sezione FRAMES, come mostrato di seguito.
Per scoprire di più su come esaminare e risolvere i problemi di frequenza fotogrammi, consulta Rendering lento.
Frammenti nella cronologia degli eventi
La sequenza temporale degli eventi ora mostra quando i frammenti vengono collegati e scollegati. 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 nel profiler di rete
In precedenza, lo strumento di analisi della rete mostrava solo il testo non elaborato dei payload di connessione. Android Studio 3.3 ora formatta alcuni tipi di testo per impostazione predefinita, tra cui JSON, XML e HTML. Nelle schede Risposta e Richiesta, fai clic sul link Visualizza testo analizzato per visualizzare il testo formattato e sul link Visualizza codice sorgente per visualizzare il testo non elaborato.
Per maggiori informazioni, vedi Esaminare il traffico di rete con Network Profiler.
Download automatico dei componenti dell'SDK
Quando il progetto richiede un componente SDK delle 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, consulta Scaricare automaticamente i pacchetti mancanti con Gradle.
Supporto per Clang-Tidy
Android Studio ora include il supporto per l'analisi statica del codice tramite Clang-Tidy per i progetti che includono codice nativo. Per abilitare il supporto di Clang-Tidy, aggiorna l'NDK alla versione r18 o successiva.
Puoi quindi attivare o riattivare le ispezioni aprendo la finestra di dialogo Impostazioni o Preferenze e selezionando Editor > Ispezioni > C/C++ > Generale > Clang-Tidy. Quando selezioni questa indagine nella finestra di dialogo Impostazioni o Preferenze, puoi anche vedere l'elenco dei controlli Clang-Tidy abilitati 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 le opzioni di controllo di 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 mediante 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 per impostazione predefinita la versione 3.6.0.
Per specificare una versione di CMake da utilizzare da parte di Gradle, aggiungi quanto segue al file build.gradle
del tuo modulo:
android {
...
externalNativeBuild {
cmake {
...
version "3.10.2"
}
}
}
Per ulteriori informazioni sulla configurazione di CMake in build.gradle
, consulta
Configurare manualmente Gradle.
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 abbinare il 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à a risolvere le differenze tra le versioni.
Gli Android App Bundle ora supportano le app istantanee
Ora Android Studio ti consente di creare Android App Bundle con il supporto completo di Google Play Instant. In altre parole, ora puoi creare ed eseguire il deployment sia delle app installate sia delle esperienze istantanee da un singolo progetto Android Studio e includerle in un singolo 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 dell'app come farebbe normalmente, ma include le seguenti proprietà nel file manifest per aggiungere il supporto delle app istantanee al modulo di base dell'app:
<manifest ... xmlns:dist="http://schemas.android.com/apk/distribution">
<dist:module dist:instant="true" />
...
</manifest>
Puoi quindi creare un modulo di funzionalità abilitato all'istante selezionando File > Nuovo > Nuovo modulo dalla barra dei menu e poi Modulo di funzionalità dinamica istantanea dalla finestra di dialogo Crea nuovo modulo. Tieni presente che la creazione di questo modulo attiva anche immediatamente il modulo di base della tua app.
Per eseguire il deployment dell'app su un dispositivo locale come app istantanea, modifica la configurazione di esecuzione e seleziona la casella accanto a Generali > Esegui il deployment come app istantanea.
Sincronizzazione di 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. Se soddisfi questi requisiti, IDE ti chiede di attivare questa ottimizzazione quando sincronizzi il progetto. L'ottimizzazione viene attivata per impostazione predefinita anche nei nuovi progetti.
Per attivare questa ottimizzazione manualmente, 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: questa ottimizzazione al momento supporta progetti che includono solo il linguaggio di programmazione Java. Ad esempio, se l'IDE rileva codice Kotlin o C++ nel progetto, non attiva automaticamente questa ottimizzazione e non devi attivarla manualmente.
Per ulteriori informazioni, consulta 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 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 feedback. 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, selezionando Aspetto e comportamento > Impostazioni di sistema > Condivisione dati e selezionando Invia a Google le statistiche sull'utilizzo.