Come posso caricare il mio emulatore più velocemente?


10

Ho appena installato eclipse insieme agli strumenti per lo sviluppo di app Android stasera; quindi sono nuovo per entrambi. Ad ogni modo, il mio emulatore impiega circa 5 o più minuti per caricarsi ogni volta e generalmente genera errori. Ed è sempre molto grande, alto come lo schermo del mio laptop e largo circa la metà .. Qualche aiuto?


1
Questo non dovrebbe essere su SO come una domanda di sviluppo?
nuovoutente

2
Dal momento che la domanda riguarda l'emulatore è sul recinto che tende ad essere in tema.
Daniel,

@Daniel: questa è sicuramente una domanda per gli sviluppatori, e non appartiene qui, ma su StackOverflow.com
Jonas,

6
@Jonas Lo dico solo perché ho già visto altre domande sull'emulatore con argomenti simili: alla domanda si può rispondere allo stesso modo per uno sviluppatore e un utente esperto. Nessuna parte della sua domanda chiede aiuto con la programmazione o il codice Java. Ora in base al commento OP sulla mia risposta è abbastanza ovvio che è un dev ma un utente non dev può fare la stessa domanda per testare Android prima di acquistare un dispositivo. Questo approccio alle domande sull'emulatore è stato deciso prima di trovare questo sito.
Daniel,

Potresti davvero fare una bella argomentazione sul fatto che questo è solo un problema software / hardware per PC e appartiene a SuperUser ...
GAThrawn,

Risposte:


9

Se si sta sviluppando in Eclipse, non è necessario disattivare l'emulatore. Se il pulsante debug / run in Eclipse è impostato correttamente, Eclipse chiuderà l'istanza corrente del programma all'interno dell'emulatore, installerà il nuovo programma sull'emulatore e avvierà il programma sull'emulatore attualmente in esecuzione, il tutto senza riavviare il emulatore.

Sì, l'avvio dell'emulatore richiede ancora 5 minuti, ma non è poi così male poiché si avvia l'emulatore solo una volta al giorno (e l'avvio di Eclipse all'inizio della giornata richiede all'incirca lo stesso tempo).


Grazie, non ci ho nemmeno pensato; ma ha senso.
James Litewski,

Sono un altro novellino di Android Dev ed Eclipse .. quando dici "Se il pulsante debug / run in Eclipse è impostato correttamente ..." cosa intendi? Sospetto che il mio non sia impostato "correttamente" perché riavvia l'emulatore ogni volta. Grazie
PER IL

Trovate la risposta alla mia domanda di follow-up qui: stackoverflow.com/questions/506777/… Lasciando la traccia per chiunque possa chiedersi lo stesso.
PER IL

8

Lie Ryan sottolinea che una volta avviato l'emulatore non è necessario chiuderlo quando si finisce di testare una build. Lasciala aperta e ogni volta che esegui o esegui il debug della tua app, questa verrà automaticamente ricaricata e avviata.

In caso di problemi con la dimensione dell'emulatore, è possibile modificare le impostazioni e visualizzare la dimensione effettiva del dispositivo che si sta tentando di emulare. Questo può essere fatto aprendo "Android SDK e AVD Manager", selezionare l'AVD che si desidera gestire e fare clic su "Avvia". Questo farà apparire la finestra di dialogo sulla destra (nella schermata qui sotto). Controlla "Ridimensiona la visualizzazione alla dimensione reale", quindi devi modificare il Screen Sizecampo e il campo "Monitor dpi". "Dimensioni schermo" corrisponde alle dimensioni dello schermo per il dispositivo che si sta emulando e "Monitor dpi" si riferisce al dpi del monitor. Potrebbe essere necessario giocarci un po 'perché mi ci sono voluti un paio di tentativi per farlo bene.

SDK e AVD Manager

Spero che sia di aiuto


Quindi, suppongo che tutto ciò che devo fare è aprirlo da lì e quindi fare clic per eseguire il programma una volta caricato?
James Litewski,

@James Dipende da come hai il tuo progetto "Run Configuration" / "Debug Configuration". Se sono impostati su manuale, verrà richiesto di selezionare un dispositivo o emulatore attualmente in esecuzione o di avviarne uno nuovo. Se non è manuale, sarà necessario impostare l'emulatore in esecuzione come predefinito in modo da installare / eseguire il programma lì.
Daniel,

Perché il downvote?
Daniel,

5

Penso che non ci sia nulla da fare per accelerare l'emulatore, è solo molto lento.

Faresti meglio a usare un vero dispositivo per i test, se possibile.


Bene, un dispositivo reale non è in nessun posto vicino al mio budget in questo momento .. Sai almeno come ridurre l'emu? Quindi è come una normale dimensione dei dispositivi?
James Litewski,

Avvia il comando "android" (in sdk / tools). Nella finestra di dialogo "Android SDK e AVD Manager", c'è un pulsante "Nuovo ..." per creare un nuovo computer. Viene visualizzata una finestra di dialogo chiamata "Crea nuovo dispositivo virtuale Android". Nella sua sezione "Skin" è possibile specificare la risoluzione desiderata.
Nicolas Raoul,

3

Se stai usando una macchina multicore, potresti provare a forzare l'emulatore ad usare più core. L'emulatore Android utilizza un singolo core per impostazione predefinita e su alcuni processori può essere molto lento. Tuttavia, ciò riduce la stabilità dell'emulatore.

Per fare ciò, avviare l'emulatore e premere Ctrl+Shift+Escper aprire Task Manager. Vai alla Processesscheda e fai clic con il pulsante destro del mouse sul emulator.exeprocesso, seleziona Set Affinitye seleziona core aggiuntivi. Nota che devi farlo ogni volta che avvii l'emulatore.

L'ho fatto sulla mia vecchia macchina di sviluppo (Q9650, Win2008, 8 GB di RAM DDR2 a 800 MHz) e ha migliorato un po 'la velocità, ma si è schiantato in media una volta al giorno.


3

Oltre alle altre grandi risposte qui, questa è una sorta di risposta ovvia.

Comunque, ho pensato di aggiungerlo all'elenco qui. Se aumenti le specifiche hardware sul computer di sviluppo su cui stai eseguendo (in particolare la RAM o la velocità del mandrino del disco rigido) vedrai un aumento della velocità con cui l'Emulatore si avvia e funziona.

Il mio computer di sviluppo aveva 2 GB di DDR2667 e quando sono andato a 4 GB di DDR800 ho avuto un notevole aumento della velocità di avvio e delle operazioni dell'emulatore.


Scatola di sviluppo?
James Litewski,

Development Box = Un computer acquistato o costruito per essere utilizzato specificamente per lo sviluppo del software. Ciò non significa che non possa essere utilizzato per nient'altro, ma lo sviluppo è il suo scopo.
Daniel,

Ops. Sì, ho lasciato che Geek-Speek entrasse in quello. Modificato!
Mat Nadrofsky,

3

Nell'emulatore è presente una funzione, chiamata Snapshot. Snapshot, fondamentalmente salva un'immagine dell'emulatore (nel suo stato attuale) quando lo si chiude. Quindi la prossima volta, puoi avviarlo dallo stesso posto. L'emulatore verrà avviato quasi immediatamente, poiché non è necessario eseguire il processo di avvio. Usando Snapshot, posso costantemente avviare il mio emulatore in meno di 5 secondi (invece di 60 - 90 secondi per avviarlo senza).

Fondamentalmente, quando crei l'AVD (crea la tua immagine dell'emulatore) - c'è una sezione intitolata: "Istantanea". Assicurati che sia selezionato ("abilitato"). Puoi anche tornare indietro e modificare un AVD per abilitarlo se lo hai perso la prima volta.

La prossima volta che avvierai l'emulatore, le opzioni "Istantanea" saranno abilitate. Selezionare "Avvia da istantanea" se si desidera iniziare da un'immagine salvata, quindi selezionare "Salva in istantanea" per salvare lo stato in cui si trova l'emulatore quando lo si chiude.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.