Perché l'emulatore Android è così lento? Come possiamo velocizzare l'emulatore Android?


Answers

NOTA IMPORTANTE : per prima cosa fare riferimento all'elenco Intel di VT per assicurarsi che la CPU supporti Intel VT.

HAXM accelera l'emulatore Android lento

HAXM sta per "Intel Hardware Accelerated Execution Manager"

Attualmente supporta solo Intel® VT (Intel Virtualization Technology).

L'emulatore Android è basato su QEMU . L'interfaccia tra QEMU e il driver HAXM sul sistema host è progettata per essere indipendente dal fornitore.

Passi per la configurazione del tuo ambiente di sviluppo Android per HAXM

  1. Aggiorna Eclipse: assicurati che l'installazione di Eclipse e il plug-in ADT siano completamente aggiornati.

  2. Aggiorna i tuoi strumenti Android: dopo ogni aggiornamento del plug-in Eclipse, è importante aggiornare i tuoi strumenti Android SDK. Per eseguire questa operazione, avviare Android SDK Manager e aggiornare tutti i componenti di Android SDK. Per usufruire di HAXM, è necessario avere almeno la versione di rilascio 17.

  • Scarica le immagini del sistema Atom x86 e il driver Intel Accelerated Execution Manager . Segui l'immagine qui sotto:

  • Installare il driver HAXM eseguendo "IntelHaxm.exe". Si troverà in uno dei seguenti luoghi:

    • C:\Program Files\Android\android-sdk\extras\intel\Hardware_Accelerated_Execution_Manager

    • C:\Users\<user>\adt-bundle-windows-x86_64\sdk\extras\intel\Hardware_Accelerated_Execution_Manager

    Se il programma di installazione non riesce con il messaggio che Intel VT deve essere attivato, è necessario abilitarlo nel BIOS . Vedere la descrizione su come eseguire questa operazione in Abilitazione di Intel VT (Virtualization Technology) .

  • Crea un nuovo AVD x86: Segui l'immagine qui sotto:

  • O come per il nuovo SDK,
Question

Ho un processore Celeron a 2,67 GHz e 1,21 GB di RAM su un sistema x86 Windows XP Professional.

La mia comprensione è che l' emulatore Android dovrebbe iniziare abbastanza velocemente su una macchina del genere, ma per me no. Ho seguito tutte le istruzioni per l'impostazione di IDE, SDK, JDK e simili e ho avuto un discreto successo nell'avviare l'emulatore rapidamente, ma ciò è molto raro. Come posso, se possibile, risolvere questo problema?

Anche se inizia e carica la schermata iniziale, è molto lento. Ho provato l' IDE Eclipse nella versione 3.5 (Galileo) e 3.4 (Ganimede).




I had intermittent slow emulator (SDK v8.0) load times, up to three minutes on Intel Core i7 920 2.67 GHz CPU running on Xubuntu 10.04 VirtualBox 3.2.12 guest with Eclipse (3.6.1) loaded. I changed the VirtualBox guest memory from 1024 MB to 2048 MB and from that point on, I never experienced the slowness again (load times consistent at 33 seconds, CPU load consistent at 20%). Both Eclipse and the emulator are memory hogs.




I noticed that the my emulator ( Eclipse plugin) was significantly slowed by my Nvidia graphics card anti-aliasing settings. Removing 2x anti aliasing from the graphics menu and changing it to application controlled made it more responsive. It is still slow, but better than it used to be.




Ecco cosa ho notato che nessuno lo ha mai menzionato.

Assegna tutti i processori disponibili all'emulatore

Ecco cosa puoi provare. Accelera l'emulatore per me, soprattutto durante il caricamento. Ho notato che l'emulatore utilizza solo un singolo core della CPU disponibile. L'ho impostato per utilizzare tutti i processori disponibili.

Sto usando Windows 7.

All'avvio dell'emulatore Android, apri il Task Manager, guarda sotto la scheda Processi, cerca "emulator-arm.exe" o "emulator-arm.exe * 32" ... Fai clic con il tasto destro del mouse, seleziona Affinità processore e assegna all'emulatore tutto il processore che desideri.







È possibile creare emulator.bat con il seguente comando per avviare l'emulatore. Si avvierà più velocemente.

emulator.exe -cpu-delay 0 -no-boot-anim @<avd name>

O su Unix (versioni Mac o Linux):

emulator -cpu-delay 0 -no-boot-anim @<avd name>



The older Android versions run a lot faster. When I'm on my netbook, I use Android 1.5 (API level 3). There are a couple of drawbacks, though--your apps need to support the older platforms (obviously), and ndk-gdb requires running Android 2.2 (API level 8) or higher. But regularly testing apps against older platforms is a good idea anyway.




Prova a disabilitare il tuo antivirus. Forse renderà l'emulatore un po 'più veloce.




La versione corrente (maggio 2011) dell'emulatore è lenta in particolare con Android 3.0 (Honeycomb) principalmente perché l'emulatore non supporta l'hardware GL - questo significa che il codice GL viene tradotto in software (software ARM, infatti) che poi viene emulato nel software in QEMU . Questo è pazzo-lento. Stanno lavorando a questo problema e lo hanno parzialmente risolto, ma non con alcun tipo di qualità di rilascio.

Guarda il video Google I / O 2011: Strumenti di sviluppo Android per vederlo in azione: passa a circa 44 minuti.




L'avvio dell'emulatore è molto lento. La cosa buona è che hai solo bisogno di avviare l'emulatore una volta. Se l'emulatore è già in esecuzione e si esegue nuovamente l'app, l'emulatore reinstalla l'app in modo relativamente rapido. Certo, se vuoi sapere quanto velocemente funzionerà su un telefono, è meglio testarlo su un telefono reale.




Dopo aver sviluppato per un po ', il mio emulatore è diventato brutalmente lento. Ho scelto di cancellare i dati dell'utente , ed era molto meglio. Sto indovinando che ci vuole tempo per caricare ogni file APK che hai distribuito.




Per aggiungere ulteriori informazioni a questo.

Ho recentemente aggiornato la mia installazione di Ubuntu 10.04 a Ubuntu 10.04 LTS (Lucid Lynx), che a sua volta ha aggiornato la mia versione Java a:

Java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01, mixed mode)

E ora l'emulatore (anche se richiede un po 'di tempo per iniziare) sembra correre più veloce di prima.

Potrebbe valere la pena che le persone aggiornino la loro JVM.




AGGIORNAMENTO: l'ultima versione di Android Studio (2.x) ha apportato importanti miglioramenti all'emulatore fornito in bundle. È reattivo e ha un sacco di funzioni.

Per quelli ancora interessati: prova a usare Genymotion . È possibile scaricare una versione per Windows / Mac OS X / Linux dopo la registrazione. È disponibile anche un plugin per Eclipse:

L'installazione del plug-in può essere effettuata avviando Eclipse e andando al menu "Guida / Installa nuovo software", quindi aggiungere un nuovo sito di aggiornamento con il seguente URL: http://plugins.genymotion.com/eclipse . Segui i passaggi indicati da Eclipse.

Questo emulatore è veloce e reattivo.

GenyMotion ti consente di controllare vari sensori del tuo dispositivo tra cui il livello della batteria, la potenza del segnale e il GPS. L'ultima versione ora contiene anche strumenti per la fotocamera.




La versione 9 dell'emulatore Android ha una nuova funzione "istantanea". È possibile salvare lo stato dell'emulatore (creare un'immagine dell'emulatore) ed evitare l'avvio all'avvio dell'emulatore.




L'emulatore sembra rallentare quando è inattivo. Ciò è reso evidente passando rapidamente il mouse sui tasti sul lato e osservando le risposte di illuminazione. Per ovviare al problema, -icount auto passaggio -icount auto da -icount auto a QEMU all'avvio dell'emulatore. Puoi creare un file batch chiamato my_avd.bat per farlo per te:

emulator @my_avd -no-boot-anim -qemu -icount auto
  • @my_avd : avvia un dispositivo virtuale denominato "my_avd"
  • -no-boot-anim - disabilita l'animazione per un avvio più veloce
  • -qemu args... - passa argomenti a qemu
  • -icount [N|auto] - abilita il contatore di istruzioni virtuale con tick di clock 2 ^ N per istruzione

Ciò ha reso le animazioni burrose e rapide adb install dieci volte.




Links