Jak mogę przyspieszyć ładowanie emulatora?

10

Właśnie zainstalowałem zaćmienie wraz z narzędziami do tworzenia aplikacji na Androida dziś wieczorem; więc jestem nowy w obu z nich. W każdym razie mój emulator ładuje się za każdym razem około 5 lub więcej minut i generalnie pojawia się błąd. I zawsze jest naprawdę duży, tak wysoki jak ekran mojego laptopa i około połowy szerokości .. Jakaś pomoc?

James Litewski
źródło
1
Czy nie powinno to dotyczyć SO jako pytania programistycznego?
newuser
2
Ponieważ pytanie dotyczy emulatora, jest on na płocie skłaniającym do bycia na temat.
Daniel
@Daniel: To zdecydowanie pytanie dla programistów i nie należy tutaj, ale na StackOverflow.com
Jonas,
6
@Jonas Mówię to tylko dlatego, że widziałem wcześniej inne pytania emulatora z podobnymi argumentami: na pytanie można odpowiedzieć tak samo dla programisty i zaawansowanego użytkownika. Żadna część jego pytania nie wymaga pomocy w programowaniu lub kodzie Java. Teraz, na podstawie komentarza OP do mojej odpowiedzi, to oczywiste, że jest programistą, ale użytkownik niebędący programistą może zadać to samo pytanie, aby przetestować Androida przed zakupem urządzenia. To podejście do pytań emulatora zostało ustalone, zanim znalazłem tę stronę.
Daniel
Mógłbyś naprawdę zrobić całkiem dobry argument, że jest to tylko problem z oprogramowaniem / sprzętem komputerowym i należy do SuperUser ...
GAThrawn

Odpowiedzi:

9

Jeśli programujesz w Eclipse, nie musisz wyłączać emulatora. Jeśli przycisk debugowania / uruchamiania w Eclipse jest poprawnie skonfigurowany, wówczas Eclipse zamknie bieżącą instancję programu wewnątrz emulatora, zainstaluje nowy program w emulatorze i uruchomi program na aktualnie uruchomionym emulatorze - wszystko to bez ponownego uruchamiania emulator.

Tak, uruchomienie emulatora nadal trwa 5 minut, ale nie jest tak źle, ponieważ emulator uruchamia się tylko raz dziennie (a uruchomienie Eclipse na początku dnia i tak zajmuje mniej więcej tyle samo czasu).

Lie Ryan
źródło
Dziękuję, nawet o tym nie myślałem; ale to ma sens.
James Litewski
Jestem kolejnym nowicjuszem w Android Dev i Eclipse ... kiedy mówisz „Jeśli przycisk debugowania / uruchamiania w Eclipse jest poprawnie skonfigurowany ...” co masz na myśli? Podejrzewam, że mój nie jest poprawnie skonfigurowany, ponieważ za każdym razem uruchamia ponownie emulator. Dzięki
ZA
Znalazłem odpowiedź na moje dalsze pytanie tutaj: stackoverflow.com/questions/506777/... Pozostawiając ślad każdemu, kto może zastanawiać się tak samo.
DLA
8

Lie Ryan ma rację, że po uruchomieniu emulatora nie trzeba go zamykać po zakończeniu testowania kompilacji. Pozostaw ją otwartą, a za każdym razem, gdy uruchomisz lub debugujesz aplikację, zostanie ona automatycznie ponownie załadowana i uruchomiona.

Jeśli masz problemy z rozmiarem emulatora, możesz zmodyfikować ustawienia i wyświetlać rzeczywisty rozmiar urządzenia, które próbujesz emulować. Można to zrobić, otwierając „Android SDK i AVD Manager”, wybierz AVD, którym chcesz zarządzać i kliknij „Start”. Spowoduje to wyświetlenie okna dialogowego po prawej stronie (na zrzucie ekranu poniżej). Zaznacz „Skaluj ekran do rzeczywistego rozmiaru”, a następnie musisz zmodyfikować Screen Sizepole i pole „Monitoruj dpi”. „Rozmiar ekranu” będzie rozmiarem ekranu dla urządzenia, które emulujesz, a „Monitor dpi” odnosi się do rozdzielczości twojego monitora. Być może będziesz musiał się z tym trochę pobawić, ponieważ zajęło mi to kilka prób, aby to naprawić.

SDK i AVD Manager

Mam nadzieję że to pomoże

Daniel
źródło
Więc chyba wszystko, co muszę zrobić, to otworzyć go stamtąd, a następnie kliknąć, aby uruchomić program po załadowaniu?
James Litewski
@James To zależy od tego, jak masz projekt „Uruchom konfigurację” / „Konfiguracja debugowania”. Jeśli są ustawione na ręczne, pojawi się monit o wybranie aktualnie uruchomionego urządzenia lub emulatora lub uruchomienie nowego. Jeśli nie jest to instrukcja, musisz ustawić domyślny emulator, aby tam zainstalować / uruchomić program.
Daniel
Dlaczego głosowanie negatywne?
Daniel
5

Myślę, że nie ma nic do zrobienia, aby przyspieszyć emulator, jest po prostu bardzo wolny.

Jeśli to możliwe, lepiej użyj prawdziwego urządzenia do testów.

Nicolas Raoul
źródło
Cóż, prawdziwe urządzenie nie jest teraz w pobliżu mojego budżetu. Czy przynajmniej wiesz, jak zmniejszyć emu? Więc to jest jak zwykły rozmiar urządzenia?
James Litewski
Uruchom polecenie „android” (w sdk / tools). W oknie dialogowym „Android SDK and AVD Manager” znajduje się przycisk „Nowy ...”, aby utworzyć nową maszynę. Pojawi się okno dialogowe „Utwórz nowe urządzenie wirtualne z Androidem”. W sekcji „Skórka” możesz określić żądaną rozdzielczość.
Nicolas Raoul,
3

Jeśli używasz maszyny wielordzeniowej, możesz spróbować zmusić emulator do użycia większej liczby rdzeni. Emulator Androida domyślnie korzysta z jednego rdzenia, a na niektórych procesorach może być bardzo powolny. Zmniejsza to jednak stabilność emulatora.

Aby to zrobić, uruchom emulator i naciśnij, Ctrl+Shift+Escaby otworzyć Menedżera zadań. Przejdź do Processeszakładki i kliknij emulator.exeproces prawym przyciskiem myszy , wybierz Set Affinityi wybierz dodatkowe rdzenie. Pamiętaj, że musisz to zrobić przy każdym uruchomieniu emulatora.

Zrobiłem to na mojej starej maszynie deweloperskiej (Q9650, Win2008, 8 GB pamięci DDR2 800 MHz RAM) i poprawiło to trochę prędkość, ale zawieszało się średnio raz dziennie.

onik
źródło
3

Oprócz innych świetnych odpowiedzi tutaj jest to dość oczywista odpowiedź.

W każdym razie pomyślałem, że dodam go tutaj do listy. Jeśli zwiększysz specyfikację sprzętową na komputerze programistycznym, na którym ją uruchomisz (szczególnie pamięć RAM lub prędkość wrzeciona dysku twardego), zobaczysz wzrost prędkości uruchamiania i działania emulatora.

Mój komputer programistyczny miał 2 GB pamięci DDR2667, a kiedy wybrałem 4 GB pamięci DDR800, zauważyłem wyraźny wzrost szybkości uruchamiania i działania emulatora.

Mat Nadrofsky
źródło
Pudełko programistyczne?
James Litewski
Development Box = Komputer zakupiony lub zbudowany specjalnie do tworzenia oprogramowania. To nie znaczy, że nie można go używać do niczego innego, ale celem jest rozwój.
Daniel
Ups Tak, pozwalam geek-speek dostać się do tego. Edytowane!
Mat Nadrofsky
3

Emulator ma wbudowaną funkcję o nazwie Snapshot. Migawka zasadniczo zapisuje obraz emulatora (w jego obecnym stanie) po zamknięciu. Następnym razem możesz uruchomić go z tego samego miejsca. Emulator uruchomi się prawie natychmiast, ponieważ nie musi przechodzić przez proces rozruchu. Korzystając ze Snapshota, konsekwentnie mogę uruchomić mój emulator w mniej niż 5 sekund (w przeciwieństwie do 60 - 90 sekund, aby uruchomić go bez).

Zasadniczo podczas tworzenia AVD (obrazu emulatora) - dostępna jest sekcja zatytułowana: „Snapshot”. Upewnij się, że jest zaznaczone („włączone”). Możesz także wrócić i edytować AVD, aby włączyć tę opcję, jeśli przegapiłeś ją za pierwszym razem.

Przy następnym uruchomieniu emulatora zostaną włączone opcje „Migawka”. Wybierz „Uruchom z migawki”, jeśli chcesz zacząć od zapisanego obrazu, i wybierz „Zapisz w migawce”, aby zapisać stan, w którym emulator znajduje się po zamknięciu.

Booger
źródło