Wie kann ich meinen Emulator schneller laden lassen?

10

Ich habe heute Abend Eclipse zusammen mit den Tools für die Entwicklung von Android-Apps installiert. Also bin ich neu für beide. Wie auch immer, mein Emulator benötigt jedes Mal ungefähr 5 oder mehr Minuten zum Laden und zeigt im Allgemeinen Fehler an. Und es ist immer sehr groß, so groß wie mein Laptop-Bildschirm und ungefähr halb so breit. Hilfe?

James Litewski
quelle
1
Sollte dies nicht SO als Entwicklungsfrage sein?
Newuser
2
Da es sich bei der Frage um den Emulator handelt, ist er auf dem Zaun und neigt dazu, thematisch zu sein.
Daniel
@ Daniel: Dies ist definitiv eine Entwicklerfrage und gehört nicht hierher, sondern auf StackOverflow.com
Jonas
6
@ Jonas Ich sage das nur, weil ich schon andere Emulatorfragen mit ähnlichen Argumenten gesehen habe: Die Frage kann für einen Entwickler und einen Power-User gleich beantwortet werden. Kein Teil seiner Frage bittet um Hilfe bei der Programmierung oder beim Java-Code. Basierend auf dem OP-Kommentar zu meiner Antwort ist es ziemlich offensichtlich, dass er ein Entwickler ist, aber ein Nicht-Entwickler-Benutzer könnte genau diese Frage stellen, um Android vor dem Kauf eines Geräts zu testen. Dieser Ansatz für Emulatorfragen wurde entschieden, bevor ich diese Site fand.
Daniel
Sie könnten tatsächlich ein gutes Argument dafür vorbringen, dass dies nur ein Problem mit der PC-Software / -Hardware ist und zu SuperUser gehört ...
GAThrawn

Antworten:

9

Wenn Sie in Eclipse entwickeln, müssen Sie den Emulator nicht deaktivieren. Wenn die Schaltfläche zum Debuggen / Ausführen in Eclipse ordnungsgemäß eingerichtet ist, schließt Eclipse die aktuelle Instanz Ihres Programms im Emulator, installiert Ihr neues Programm im Emulator und startet das Programm auf dem aktuell ausgeführten Emulator - alles ohne Neustart des Emulator.

Ja, das Booten des Emulators dauert immer noch 5 Minuten, aber es ist nicht so schlimm, da Sie den Emulator nur einmal am Tag booten (und das Starten von Eclipse zu Beginn des Tages dauert sowieso ungefähr genauso lange).

Lie Ryan
quelle
Danke, ich habe nicht einmal darüber nachgedacht; aber es macht Sinn.
James Litewski
Ich bin ein weiterer Neuling bei Android Dev und Eclipse. Wenn Sie sagen "Wenn die Debug / Run-Schaltfläche in Eclipse richtig eingerichtet ist ...", was meinen Sie damit? Ich vermute, dass meine nicht richtig eingerichtet ist, weil sie den Emulator jedes Mal neu startet. Vielen Dank
für den
Hier finden Sie eine Antwort auf meine Folgefrage: stackoverflow.com/questions/506777/… Hinterlassen Sie die Spur für alle anderen, die sich das auch fragen mögen.
FÜR
8

Lie Ryan macht einen guten Punkt, dass Sie den Emulator nach dem Starten nicht mehr schließen müssen, wenn Sie mit dem Testen eines Builds fertig sind. Lassen Sie es geöffnet und jedes Mal, wenn Sie Ihre App ausführen oder debuggen, wird sie automatisch neu geladen und gestartet.

Wenn Sie Probleme mit der Größe des Emulators haben, können Sie die Einstellungen ändern und die tatsächliche Größe des Geräts anzeigen lassen, das Sie emulieren möchten. Öffnen Sie dazu das "Android SDK und den AVD Manager", wählen Sie die zu verwaltende AVD aus und klicken Sie auf "Start". Daraufhin wird der Dialog rechts angezeigt (siehe Abbildung unten). Überprüfen Sie die "Anzeige auf echte Größe skalieren" und ändern Sie dann das Screen SizeFeld und das Feld "Monitor dpi". Die "Bildschirmgröße" entspricht der Bildschirmgröße für das Gerät, das Sie emulieren, und "Monitor-dpi" bezieht sich auf die dpi Ihres Monitors. Möglicherweise müssen Sie ein bisschen damit herumspielen, weil ich ein paar Versuche gebraucht habe, um es richtig zu machen.

SDK und AVD Manager

Hoffe das hilft

Daniel
quelle
Also muss ich es wohl nur von dort aus öffnen und dann klicken, um das Programm auszuführen, sobald es geladen ist?
James Litewski
@James Es hängt davon ab, wie Sie Ihr Projekt "Konfiguration ausführen" / "Debug-Konfiguration" haben. Wenn sie auf manuell eingestellt sind, werden Sie aufgefordert, ein aktuell ausgeführtes Gerät oder einen Emulator auszuwählen oder ein neues zu starten. Wenn es nicht manuell ist, müssen Sie den Emulator, den Sie ausführen, als Standard festlegen, damit das Programm dort installiert / ausgeführt wird.
Daniel
Warum das Downvote?
Daniel
5

Ich denke, es gibt nichts zu tun, um den Emulator zu beschleunigen, es ist nur sehr langsam.

Wenn möglich, sollten Sie ein echtes Gerät für Tests verwenden.

Nicolas Raoul
quelle
Nun, ein echtes Gerät ist momentan bei weitem nicht in der Nähe meines Budgets. Wissen Sie zumindest, wie man den Emu kleiner macht? Es ist also wie eine normale Gerätegröße?
James Litewski
Starten Sie den Befehl "android" (in sdk / tools). Im Dialogfeld "Android SDK und AVD Manager" gibt es eine Schaltfläche "Neu ...", um einen neuen Computer zu erstellen. Ein Dialogfeld mit dem Namen "Neues virtuelles Android-Gerät erstellen" wird angezeigt. Im Abschnitt "Skin" können Sie die gewünschte Auflösung angeben.
Nicolas Raoul
3

Wenn Sie einen Multicore-Computer verwenden, können Sie versuchen, den Emulator zu zwingen, mehr Kerne zu verwenden. Der Android-Emulator verwendet standardmäßig einen einzelnen Kern und kann auf einigen Prozessoren sehr langsam sein. Dies verringert jedoch die Stabilität des Emulators.

Starten Sie dazu den Emulator und drücken Sie Ctrl+Shift+Esc, um den Task-Manager zu öffnen. Gehen Sie zur ProcessesRegisterkarte und klicken Sie mit der rechten Maustaste auf den emulator.exeProzess, wählen Set AffinitySie zusätzliche Kerne aus und wählen Sie sie aus. Beachten Sie, dass Sie dies jedes Mal tun müssen, wenn Sie den Emulator starten.

Ich habe dies auf meinem alten Entwicklungscomputer (Q9650, Win2008, 8 GB DDR2 800 MHz RAM) gemacht und es hat die Geschwindigkeit ein wenig verbessert, ist aber durchschnittlich einmal am Tag abgestürzt.

Onik
quelle
3

Zusätzlich zu den anderen großartigen Antworten hier ist dies eine offensichtliche Antwort.

Wie auch immer, ich dachte, ich würde es hier zur Liste hinzufügen. Wenn Sie die Hardwarespezifikationen auf dem Entwicklungscomputer erhöhen, auf dem Sie dies ausführen (insbesondere RAM- oder Festplattenspindeldrehzahl), wird die Geschwindigkeit erhöht, mit der der Emulator gestartet und ausgeführt wird.

Mein Entwicklungscomputer hatte 2 GB DDR2667 und als ich auf 4 GB DDR800 umstieg, konnte ich die Geschwindigkeit des Starts und des Betriebs des Emulators spürbar erhöhen.

Mat Nadrofsky
quelle
Entwicklungsbox?
James Litewski
Entwicklungsbox = Ein Computer, der speziell für die Softwareentwicklung gekauft oder gebaut wurde. Das bedeutet nicht, dass es für nichts anderes verwendet werden kann, aber Entwicklung ist sein Zweck.
Daniel
Hoppla. Ja, ich habe Geek-Speek in diesen hineingelassen. Bearbeitet!
Mat Nadrofsky
3

In den Emulator ist eine Funktion namens Snapshot integriert. Snapshot speichert im Grunde genommen ein Bild des Emulators (im aktuellen Zustand), wenn Sie ihn schließen. Dann können Sie es das nächste Mal an derselben Stelle starten. Der Emulator wird fast sofort gestartet, da er den Startvorgang nicht durchlaufen muss. Mit Snapshot kann ich meinen Emulator konsistent in weniger als 5 Sekunden starten (im Gegensatz zu 60 - 90 Sekunden, um ihn ohne zu starten).

Grundsätzlich gibt es beim Erstellen der AVD (Erstellen Ihres Emulator-Images) einen Abschnitt mit dem Titel: "Snapshot". Stellen Sie sicher, dass dies aktiviert ist ("aktiviert"). Sie können auch zurückgehen und eine AVD bearbeiten, um dies zu aktivieren, wenn Sie sie zum ersten Mal verpasst haben.

Wenn Sie das nächste Mal den Emulator starten, werden die Optionen "Snapshot" aktiviert. Wählen Sie "Aus Snapshot starten", wenn Sie mit einem gespeicherten Bild beginnen möchten, und wählen Sie "In Snapshot speichern", um den Status Ihres Emulators beim Schließen zu speichern.

Popel
quelle