Perché l’emulatore Android è così lento?

La mia esperienza con l'emulatore Android Studio era semplicemente inutilizzabile anche con una configurazione aggiornata (Windows 10, AndroidStudio 3.5, Quadcore 3.2 Ghz, 32GB RAM e unità SSD).

Molte persone hanno affrontato questo problema. Sono state suggerite molte soluzioni, ma nessuna sembra avere alcun impatto. Dopo aver provato tutti i rimedi suggeriti ho deciso di andare sotto il cofano per capire la causa e il rimedio.

Nota che ho provato anche quanto segue e altro:

  1. Aggiornare Studio, SDK Tools
  2. Installare Intel HAXM (Hardware Acceleration)
  3. Modificare le impostazioni della memoria tramite SDK
  4. Impostare Coldboot per l'emulatore
  5. Modificare il mio dispositivo emulatore, versione API
  6. Utilizzare un dispositivo reale invece dell'emulatore
  7. Escludere le varie cartelle dall'Anti-virus di Windows.

La soluzione che l'ha fatto funzionare come un gioco da ragazzi è stata l'esclusione dell'Android Debug Bridge (adb.exe) "come processo" da Windows Security / Virus Protection.

Si può fare da soli o leggere i dettagli qui sotto per sapere come farlo su Windows 10, Android Studio 3.5.

Importante: suggerisco di verificare la gravità e la natura del problema di velocità da soli, così capirete anche perché molti dei suggerimenti non funzionano e vedrete anche la differenza una volta che inizierà a funzionare.

Passi per controllare il problema:

  1. Prendi il percorso del tuo Android SDK Tools. Puoi trovarlo da SDK Manager -> Aspetto e comportamento -> Impostazioni di sistema -> Android SDK.
  2. Apri un prompt dei comandi o una finestra di terminale. Potete fare clic destro sull'icona di Windows (Start) -> Esegui ed eseguire "cmd". Questo ti darà un prompt dei comandi di Windows o una finestra di terminale.
  3. Nella finestra di terminale, cambia l'unità e il percorso alla tua cartella Android SDK usando il comando CD. Ora passate alla sottocartella Platform-tools.
  4. In questa cartella troverete l'Android Debug Bridge (adb.exe). Questo gioca un ruolo molto cruciale nel funzionamento dell'emulatore e del dispositivo reale.
  5. Nella finestra del terminale, esegui lo strumento adb.exe con il comando adb. Dovrebbe immediatamente tornare indietro con i parametri di aiuto per adb.
  6. Ora esegui adb.exe con un comando come - adb devices. Questo dovrebbe semplicemente bloccarsi e impiegare diversi secondi per tornare con le informazioni anche se non hai nessun dispositivo o emulatore in esecuzione. Nella mia configurazione ci sono voluti quasi 30 secondi. Questo è il problema.

Tutto ciò che si fa con l'emulatore passa attraverso adb e si blocca qui. Una volta applicato il rimedio, dovrebbe eseguire il comando adb devices istantaneamente come il semplice comando adb senza alcun parametro.

Passi per rimediare:

  1. Vai alle impostazioni di Windows "Protezione da virus e minacce". Ci sono diversi modi per raggiungerla. Puoi usare il clic destro sull'icona di Windows (Start) e scegliere Impostazioni. Scegliere Aggiornamento e sicurezza, poi Sicurezza di Windows, poi Virus e protezione dalle minacce.
  2. Troverai l'opzione Impostazioni di Virus e protezione dalle minacce. Selezionatela. Troverete diverse opzioni, cercate Esclusioni. Selezionate l'opzione Aggiungi o rimuovi esclusioni. Questo vi porterà all'elenco di file, cartelle e processi che sono attualmente esclusi dall'antivirus di Windows. Può essere vuoto o può avere alcuni dati.
  3. Selezionare "+ Aggiungi un'esclusione". Troverete 4 opzioni - File, Cartella, Tipo di file e Processo. Questo è fondamentale. Per favore scegli Process.
  4. Nella casella di input "Enter Process Name" digita il nome adb.exe. Non dimenticare di digitare l'estensione, mettere solo adb non funzionerà. Accetta l'input con il pulsante "Add".

Hai finito. Ora andate di nuovo al prompt dei comandi e seguite gli stessi passi che avete fatto prima per controllare il problema. Speriamo che sarete piacevolmente sorpresi e la vostra intera esperienza con l'emulatore di Android Studio dovrebbe diventare senza soluzione di continuità.

Nota che i passaggi possono variare leggermente a seconda della versione di Windows, di Android Studio e degli strumenti SDK, tuttavia dovrebbero essere ancora validi.

Puoi anche trovare la mia risposta alla domanda su Stack Overflow - Perché l'emulatore è molto lento in Android Studio?

Felice emulazione 🙂