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

Ho un processre Celeron da 2,67 GHz e 1,21 GB di RAM su una macchina x86 Windows XP Professional.

La mia comprensione è che l' emulatore Android dovrebbe iniziare abbastanza rapidamente su una tale macchina, ma per me non lo fa. Ho seguito tutte le istruzioni per l'impostazione di IDE, SDK, JDK e simili e sono riusciti a far partire rapidamente l'emulatore, ma questo è molto raro. Come posso, se ansible, correggere questo problema?

  • Android: avviare l'attività dal text cliccabile
  • Android: Qual è il codice di risposta che la fatturazione in-app V3 ritorna al timeout?
  • Dove è il file APK memorizzato dopo che phonegap android build ha successo?
  • Il modo migliore per eseguire il debug dei messaggi di errore di retrofit
  • Android: Come faccio a smettere di Runnable?
  • Android onTouchListener su LinearLayout
  • Anche se inizia e carica la schermata iniziale, è molto slitta. Ho provato l' IDE Eclipse in versione 3.5 (Galileo) e 3.4 (Ganymede).

  • Android: Imansible creare Bitmap con il metodo createBitmap
  • ViewPager setCurrentItem blocca il thread UI
  • Imansible trovare la class 'com.google.android.gms.location.internal.ParcelableGeofence', indicata dal metodo glt.a
  • Chiamare un metodo java da c ++ in Android
  • Imansible avviare l'applicazione tramite Android Studio (logcat )
  • Evita SwipeRefresh mentre fastScrolling in android
  • 30 Solutions collect form web for “Perché l'emulatore Android è così lento? Come possiamo accelerare l'emulatore Android?”

    Gli strumenti di sviluppo di Android (ADT) 9.0.0 (o versione successiva) dispongono di una funzionalità che consente di salvare lo stato dell'AVD (emulatore) e di avviare immediatamente l'emulatore. Devi triggersre questa funzionalità durante la creazione di una nuova AVD oppure puoi semplicemente crearla più avanti modificando l'AVD.

    Inoltre ho aumentato la Device RAM Size del Device RAM Size a 1024 che ha come risultato un emulatore molto veloce.

    Per ulteriori informazioni, fare riferimento agli schermati riportti di seguito.

    Creazione di una nuova AVD con la function di salvataggio di snapshot.

    Emulatore Android con funzione di salvataggio di snapshot.

    Avvio dell'emulatore dall'istantanea.

    Avvio dell'emulatore dall'istantanea.

    E per accelerare l'emulatore puoi fare riferimento a Speed ​​up your Emulator Android! :

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

    HAXM aumenta l'emulatore Android lento

    HAXM sta per – "Intel Hardware Accelerated Execution Manager"

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

    L'emulatore Android è basato su QEMU . L'interface tra QEMU e il driver HAXM sul sistema host è progettata per essere vendor-agnostic.

    HAXM

    I passaggi per configurare l'ambiente di sviluppo di Android per HAXM

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

    2. Aggiorna i tuoi strumenti Android: dopo each aggiornamento di plug-in Eclipse, è importnte aggiornare i tuoi strumenti SDK di Android. A tale scopo, avviare l'SDK Manager di Android e aggiornare tutti i componenti di Android SDK. Per usufruire di HAXM, devi essere alless sulla release versione 17.

    Inserisci qui l'immagine

    • Scaricare le immagini di sistema di x86 Atom e il driver di accelerazione dell'esecuzione di Intel Hardware . Segui l'image sottostante:

    Inserisci qui l'immagine

    • Installare il driver HAXM eseguendo "IntelHaxm.exe". Sarà ubicato in una delle seguenti posizioni:

      • 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 triggersto, è necessario abilitarlo nel BIOS . Vedere la descrizione di come eseguire questa operazione in Abilitazione di Intel VT (tecnologia di virtualizzazione) .

    Installare .exe o .dmg

    • Creare un nuovo AVD x86: segui l'image sottostante:

    Crea AVD

    • O come per il nuovo SDK, Inserisci qui l'immagine

    Prova Android x86 . È molto più veloce dell'emulatore Google Android. Segui questi passi:

    1. Installare VirtualBox .
    2. Scaricare il file ISO necessario.
    3. Creare una macchina virtuale come Linux 2.6 / Other Linux, 512 MB di RAM, HD 2 GB. Rete: PCnet-Fast III, collegato a NAT . È inoltre ansible utilizzare un'adattata a ponte, ma è necessario un server DHCP nell'ambiente.
    4. Installare Android x86 sull'emulatore, eseguirlo.
    5. Premere Alt + F1 , digitare netcfg , ricordare l'indirizzo IP, premere Alt + F7 .
    6. Esegui cmd nel sistema di Windows XP, modifica la directory nella directory degli strumenti Android, digitare adb connect <virtual_machine_IP> .
    7. Avviare Eclipse, aprire il plugin ADT, trovare il dispositivo e godere!

    AGGIORNAMENTO: L'ultima versione di Android studio (2.x) ha fatto grandi miglioramenti per l'emulatore in dotazione. È attivo e ha un sacco di funzioni.

    Per coloro che sono ancora interessati: Provate a utilizzare Genymotion . È ansible scaricare una versione per Windows / Mac OS X / Linux dopo la logging. È inoltre disponibile un plugin per Eclipse:

    L'installazione del plugin può essere eseguita avviando Eclipse e scegliendo "Guida / Installa nuovo software", quindi aggiungere un nuovo sito di aggiornamento con il seguente URL: http://plugins.genymotion.com/eclipse . Seguire i passaggi indicati da Eclipse.

    Questo emulatore è veloce e sensibile.

    GenyMotion consente di controllare diversi sensori del dispositivo, compresi il livello della batteria, la potenza del segnale e il GPS. L'ultima versione contiene anche strumenti camera.

    L'emulatore incluso nella versione (vecchia) di Eclipse è molto lenta.

    Gli emulatori recenti sono più veloci di quelli utilizzati nel 2010. Aggiorna l'SDK / IDE.

    Praticamente, uso un vero cellulare per fare i miei test. È più veloce e le prove sono più realistiche. Ma se vuoi testare la tua applicazione su molte versioni Android e non vuoi acquistare diversi telefoni, dovrai usare l'emulatore di tanto in tanto.

    L'avvio dell'emulatore è molto lento. La cosa buona è che devi solo avviare l'emulatore una volta. Se l'emulatore è già in esecuzione e si esegue nuovamente l'applicazione, l'emulatore reinstalla relativamente rapidamente l'applicazione. Naturalmente, se vuoi sapere come funziona velocemente su un telefono, è meglio testarlo su un telefono reale.

    Intel ha rilasciato le istruzioni di installazione consigliate per l'emulatore ICS il 15 maggio 2012. Questo ha funzionato per me. L'emulatore è ora veloce e l'interface utente è liscia.

    La prima metà delle istruzioni è abbastanza dettagliata, quindi presumo che sia stato in grado di installare le immagini Intel System x86 Atom utilizzando il gestore Android SDK, nonché Intel HAXM.

    Ora per assicurare che tutto il resto sia impostato in modo da poter godere di un emulatore altamente performante:

    • Installa Intel Hardware Accelerated Execution Manager (HAXM)

    E avviarlo:

     sudo kextload -b com.intel.kext.intelhaxm (mac) 

    Se HAXM funziona correttamente, è ansible visualizzare questo messaggio quando si avvia l'emulatore:

    HAX sta funzionando ed emulatore funziona in modalità vel virt

    Altrimenti potresti vedere questo errore:

    HAX non funziona e l'emulatore viene eseguito in emulatore di modalità di emulazione:
    Imansible aprire il module hax

    • Utilizza l'emulazione GPU. Non è ansible utilizzare l'opzione Snapshot quando si utilizza l'emulazione GPU a partire da questa scrittura. Assicurarsi che l'emulazione GPU sia impostata su "yes".

    • Impostare la memory del dispositivo a 1024 MB o più ma non più dell'impostazione di Intel HAXM. Utilizzo 1024 MB per dispositivo e 2048 per HAXM.

    Controllare sempre le impostazioni dopo il salvataggio! L'emulatore è molto esigente di ciò che ti consente di impostare e ripristinerà le configurazioni senza dirlo.

    Con queste impostazioni non viene più visualizzata la tastiera del software, né i tasti sul retro del menu, sul menu e recenti. Questo sembra essere una limitazione dell'image attuale del sistema ICS Intel x86. Sarà necessario utilizzare le scorciatoie da tastiera .

    Su Mac OS, è necessario tenere premuto il command fn + per funzionare i tasti F1F12 . La pagina su / giù / sinistra / destra può essere eseguita usando i tasti di controllo + freccia.

    È ansible creare emulator.bat con il seguente command per avviare l'emulatore. Inizia più velocemente.

     emulator.exe -cpu-delay 0 -no-boot-anim -avd avd 

    Oppure su Unix (Mac o Linux):

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

    Ho notato che l'emulatore inizia molto più velocemente se non è collegato un server di monitoraggio Dalvik Debug (DDMS). Quindi, se si avvia l'emulatore da Virtual Device Manager "SDK Setup.exe" e Eclipse non è avviato, l'emulatore funziona più velocemente.

    Se si avvia l'emulatore da Eclipse: DDMS è presente, quindi a volte l'emulatore è estremamente lento, ma a volte è più veloce.

    Gli emulatori sono lenti. Non c'è davvero niente da fare, ma ci sono alternative all'emulatore.

    1. Genimozione – Preferito

    2. VirtualBox

    3. BlueStacks

    4. Tu saluti

    5. Windows emulatore Android

    6. Vaso di fagioli

    7. Andy

    Per rendere più veloce l'emulatore, è ansible ospitare una GPU e utilizzare una versione Android più leggera ( Android 2.3 (Gingerbread)). Lo sviluppo su un Mac sarebbe migliore. Perché utilizzare un emulatore, BTW? L'utilizzo di un vero cellulare ha più senso.

    A partire dalla versione 17 di Android SDK Tools, l'emulatore può utilizzare l'accelerazione grafica e le estensioni fornite dalla CPU per una maggiore efficienza. I prerequisiti e la configuration completa e le note utente sono a:

    http://developer.android.com/guide/developing/devices/emulator.html#acceleration

    Per abilitare l'accelerazione della GPU , eseguire l'emulatore dalla row di command o aggiungere "-gpu on" alle opzioni di row di command dell'emulatore aggiuntivo nella configuration AVD.

     emulator -avd <avd_name> -gpu on 

    Per utilizzare le estensioni della macchina CPU, è necessario installare il driver (attenzione perché potrebbe essere in conflitto con i driver VirtualBox o VMware esistenti). Una volta installato, verrà utilizzato automaticamente each volta che si utilizza un AVD basato su x86.

    Android SDK rev. 17 support Virtual Machine Acceleration utilizzando tecnologie di virtualizzazione AMD e Intel.

    Questa funzionalità può migliorare molto le performance dell'emulatore!

    Per ulteriori informazioni, vedere la sezione seguente nella documentazione dell'emulatore Android: Configurazione dell'accelerazione della macchina virtuale

    Non dimenticare di installare il driver appropriato per il sistema operativo:

    • Configurazione dell'accelerazione VM in Windows
    • Configurazione dell'accelerazione VM su Mac
    • Configurazione dell'accelerazione VM su Linux

    Dopo aver installato i driver e scaricato un'image del sistema Android X86 (come descritto nella documentazione), è necessario creare una nuova AVD utilizzando l'image x86:

    Per esempio:

    • Target: Intel Atom x86 System Image – Livello API 10
    • CPU / ABI: Intel Atom (x86)

    Provare a distriggersre il tuo antivirus. Forse farà emulatore un po 'più veloce.

    L'emulatore sembra rallentarsi quando è inattivo. Ciò è reso evidente dal rapido mousing sulle chiavi sul lato e dall'osservazione delle risposte di accensione. Come soluzione alternativa, passa -icount auto a QEMU quando si avvia l'emulatore. È ansible creare un file batch chiamato my_avd.bat per farlo:

      emulatore @my_avd -no-boot-anim -qemu -count auto 
    • @my_avd – lancio di un dispositivo virtuale denominato 'my_avd'
    • -no-boot-anim – disabilita l'animation per un avvio più veloce
    • -qemu args... – passare argomenti a qemu
    • -icount [N|auto] – abilita il contatore di istruzione virtuale con 2 ^ N zecche di clock per istruzione

    Questo ha reso animazioni morbide e lisciate fino adb install dieci volte.

    L'opzione -cpu-delay <delay> descritta nelle opzioni di avvio dell'emulatore può aiutare.

    L'emulatore Android 9 ha una nuova function "snapshot". È ansible salvare lo stato dell'emulatore (fare un'image dell'emulatore) e evitare l'avvio quando si avvia l'emulatore.

    Puoi esaminare i problemi dell'emulatore nella discussione di Google I / O 2011: Strumenti di sviluppo Android , a partire da 0:40:20.

    L'emulatore funziona lentamente perché l'ambiente completo di Android è in esecuzione su hardware emulato e le istruzioni vengono eseguite anche su un processre emulato ARM.

    Il punto principale di soffocamento è rendering, poiché non è in esecuzione su alcun hardware dedicato, ma è effettivamente eseguito tramite il rendering del software. L'abbassamento della dimensione dello schermo migliorerà drasticamente le performance dell'emulatore. Ottenere memory più / più veloce non sta per aiutare.

    Hanno già citato, a quel tempo, che stanno sviluppando un'interface che consentisse all'emulatore di condurre determinate istruzioni attraverso l'hardware dell'host, in modo da poter essere in grado di sfruttare le performance dell'emulatore con la potenza del desktop hardware.

    La versione corrente dell'emulatore (maggio 2011) è particolarmente lenta soprattutto con Android 3.0 (Honeycomb) principalmente perché l'emulatore non support l'hardware GL – questo significa che il codice GL viene tradotto in software (software ARM, infatti) emulato nel software in QEMU . Questo è pazzo-lento. Lavorano su questo problema e hanno risolto parzialmente, ma non con qualunque tipo di qualità di rilascio.

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

    Una nuova opzione è l' emulatore di Visual Studio per Android – è veloce, Hyper-V , x86 e può essere scaricato anche senza VS.

    Per aggiungere ulteriori informazioni a questo.

    Ho recentemente aggiornato l'installazione di Ubuntu 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 funzionare più velocemente di prima.

    Potrebbe valere la pena di aggiornare la JVM.

    Ecco quello che ho notato che nessuno l'ha menzionato affatto.

    Assegnare tutti i processri disponibili all'emulatore

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

    Sto utilizzando Windows 7.

    Quando l'emulatore Android è in fase di avvio, aprire la Task Manager, guardare sotto la scheda Processo, cercare "emulator-arm.exe" o "emulator-arm.exe * 32" … Fare clic con il tasto destro su di esso, select Affinità processre e assegnare il maggior numero di processri che ti piace l'emulatore.

    Inserisci qui l'immagine

    Provate Genymotion per Android Studio. Blazing veloce! Basta richiedere una sola installazione. Niente più dolore AVD.

    Utilizza l'acceleratore Intel x86 Emulator

    Innanzitutto, installare Intel x86 Emulator Accelerator (HAXM). Questo può essere scaricato direttamente da Intel o utilizzando Android SDK Manager. Nel Gestore SDK si trova sotto Extra.

    Schermata Gestione SDK

    Nella versione di Android Studio che ho usato (0.8.9), Android SDK Manager scarica HAXM, ma non effettua effettivamente l'installatore (presumo che questo sarà corretto nelle versioni successive). Per eseguire l'installazione ho dovuto andare al file C: \ Programmi (x86) \ Android \ android-studio \ sdk \ extras \ intel \ Hardware_Accelerated_Execution_Manager e avviare manualmente intelhaxm.exe.

    HAXM funziona con i dispositivi Intel, quindi ha creato un nuovo emulatore con CPU Intel.

    Creare un nuovo AVD utilizzando Intel Atom x86

    Questo migliorò notevolmente le cose, ma l'emulatore era ancora un po 'lento. Il passaggio finale è stato select Utilizza GPU Host in Gestione periferiche virtuali Android (AVD).

    AVD Crea Opzioni Screenshot

    Dopo questi cambiamenti Android Emulator stava lanciando in 5-10 secondi e funzionante senza alcun ritardo notevole. Tieni presente che queste funzionalità dipendono dall'hardware (CPU / GPU) e potrebbero non funzionare in alcuni sisthemes.

    L'emulatore Android è morto lento. Ci vogliono 800 MB di memory durante l'esecuzione. Se sei in Windows, puoi utilizzare Microsoft Android Emulator. È superbo, ti offre funzionalità più di Android Studio Emulator. E la cosa più importnte è veloce (consuma solo 13 MB). Viene fornito con Visual Studio 2015 Anteprima tecnica. Lo sto usando e felice con esso. Ho scaricato e installato integer pacchetto VS, devo guardare come possiamo installare solo VS Emulator.

    Visual Studio Emulator per Android

    EDIT: prova https://www.visualstudio.com/vs/msft-android-emulator/

    After developing for a while, my emulator became brutally slow. I chose wipe user data , and it was much much better. I am guessing that it takes time to load up each APK file you've deployed.

    Well, since somebody suggested Android x86 as an alterantive testing emulator, I'll also present my favorite. This might not be an alternative for everyone, but for me it's perfect!

    Use the Bluestacks Player . It runs Android 2.3.4 and is very fluid and fast. Sometimes it is even faster than a normal device. The only downside is, that you can just test apps on the API Level 10 and just on one screen size, but it's perfect just for testing if it's working or not. Just connect the Player with the adb by running

     adb connect 127.0.0.1 

    After compiling, it installs instantly. It is very impressive, considering I have rather average computer hardware (dual core with 4 GB of RAM).

    To reduce your emulator start-up time you need to check the "Disable Boot Animation" before starting the emulator. Refer to the Android documentation .

    If in case you don't know, you do not need to close the emulator every-time you run/debug your app. If you click run/debug when it's already open, your APK file will get uploaded to the emulator and start pretty much immediately. Emulator takes annoyingly long time only when it started the first time.

    Here are some tips to speed up the Android emulator: How to speed up the Android Emulator by up to 400% .

    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.

    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.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.