Emulator Androida jest nieco powolny. W przypadku niektórych urządzeń, takich jak Motorola Droid i Nexus One, aplikacja działa szybciej na rzeczywistym urządzeniu niż emulator. Jest to problem podczas testowania gier i efektów wizualnych.
Jak sprawić, by emulator działał tak szybko, jak to możliwe? Bawiłem się jego parametrami, ale jeszcze nie znalazłem konfiguracji, która wykazuje zauważalną poprawę.
Odpowiedzi:
Oficjalna strona internetowa
~ 50% szybciej
Windows:
Przejdź do folderu głównego zestawu SDK systemu Android i przejdź do dodatków \ intel \ Hardware_Accelerated_Execution_Manager. Uruchom plik IntelHaxm.exe, aby zainstalować. (w Android Studio możesz przejść do: Ustawienia -> Android SDK -> Narzędzia SDK -> Intel x86 Emulator Accelerator (instalator HAXM))
Utwórz AVD za pomocą procesora / ABI „Intel atom x86”
Nie zapomnij też zainstalować tego
PS podczas tworzenia AVD dodaj pamięć emulacji: Sprzęt / Nowy / Rozmiar pamięci urządzenia / ustaw wartość 512 lub więcej
Linux:
PS Dla Fedory , dla Ubuntu
OS-X:
PS: Sprawdź to narzędzie, bardzo wygodne nawet próbne
źródło
/extras/intel/Hardware_Accelerated_Execution_Manager/IntelHAXM.dmg
po pobraniu pakietu z menedżera SDK.^(?!.*(nativeGetEnabledTags)).*$
jako filtru tekstu. Zgłosiłem to jako błąd . Myślę też, że musisz poprawnie wyłączyć urządzenie emulujące (przytrzymaj przycisk zasilania, a następnie wybierz Wyłącz ), aby uniknąć błędów przy następnym uruchomieniu (mogę po prostu zamknąć emulator ARM, ale za pomocą emulatora Intel, samo zamykanie wydaje się stwarzać problemy).AKTUALIZACJA: Teraz, gdy obraz Intel x86 jest dostępny, najlepszą odpowiedzią jest powyżej.
Jak słusznie zauważył CommonsWare, emulator działa wolno, ponieważ emuluje procesor ARM, który wymaga tłumaczenia na kody Intel. Ta wirtualizacja żuje procesor.
Aby emulator był szybszy, musisz dać mu więcej procesora. Zacznij od szybkiego procesora lub uaktualnij, jeśli możesz.
Następnie daj emulatorowi więcej posiadanego procesora:
Widzę około 50% poprawę po wprowadzeniu tych dwóch zmian.
Aby ustawić koligację procesora w systemie Windows 7:
Uwaga: Gdy zmieniasz powinowactwo w ten sposób, zmienia się to tylko na czas trwania procesu. Przy następnym uruchomieniu musisz to zrobić ponownie.
źródło
Chciałbym zasugerować Genymotion . Działa w VirtualBox Oracle i legalnie osiągnie 60 fps na umiarkowanym systemie.
Oto zrzut ekranu z jednego z moich warsztatów, działającego na niskim MacBooku Air z 2012 roku:
Jeśli nie możesz odczytać tekstu, jest to emulator Nexusa 7 działający z 56,6 fps. Dodatkową (dużą!) Premią jest to, że Google Play i Google Play Services są dostarczane wraz z maszynami wirtualnymi.
(Źródło animacji demonstracyjnej można znaleźć tutaj .)
źródło
Włącz przyspieszenie sprzętowe GPU (oprócz HAXM Intela), jeśli używasz API 15 v3 lub nowszego oraz SDK Tools v17 +. Przyspieszenie graficzne emulatora wykorzystuje sprzęt graficzny komputera programistycznego, a zwłaszcza jego procesor graficzny (GPU), aby przyspieszyć rysowanie ekranu. Daje to zauważalny wzrost prędkości.
Aby włączyć akcelerację grafiki domyślnie włączoną w emulatorze : podczas tworzenia AVD, w sekcji Sprzęt kliknij Nowy, wybierz emulację GPU i ustaw wartość na Tak.
Aby włączyć przyspieszenie tylko w czasie wykonywania : użyj flagi -gpu podczas uruchamiania emulatora w następujący sposób:
Źródło: samouczek Google'a dotyczący korzystania z emulatora .
źródło
Edycja Chociaż użycie obrazów Intela ma pewien wzrost wydajności, wydajność uzyskana dzięki zastosowaniu Genymotion jest znacznie większa. Zobacz odpowiedź Paula Lammertsmy .
Poprzednia odpowiedź
Z ADT rev 17 emulator obsługuje uruchamianie obrazów systemu x86 w trybie wirtualizacji w systemach Windows i Mac OS X. Ma to zauważalny wpływ na wydajność.
ADT rev 17 notatek: http://android-developers.blogspot.jp/2012/03/updated-sdk-tools-and-adt-revision-17.html
Konfigurowanie przyspieszenia maszyny wirtualnej: http://developer.android.com/guide/developing/devices/emulator.html#accel-vm
źródło
Niedawno zmieniłem rdzeń 2 @ 2.5 z 3 GB pamięci RAM na i7 @ 1.73 z 8 GB pamięci RAM (oba systemy działały pod Ubuntu 10.10), a emulator działa teraz co najmniej dwa razy szybciej. Rzucanie w to więcej sprzętu z pewnością pomaga.
źródło
Chciałem tylko powiedzieć, że po zainstalowaniu akceleratora Intel HAXM i użyciu obrazu Intel Atom emulator wydaje się działać 50 razy szybciej. Różnica jest niesamowita, sprawdź to!
http://www.developer.com/ws/android/development-tools/haxm-speeds-up-the-android-emulator.html
źródło
Zauważyłem, że domyślnym emulatorem jest tylko Core 0, przy czym większość aplikacji Windows domyślnie ma „dowolny” rdzeń. Ponadto, jeśli umieścisz go na innym rdzeniu (takim jak ostatni rdzeń), może to spowodować, że emulator oszaleje. Jeśli możesz, możesz spróbować umieścić aplikacje intensywnie wykorzystujące procesor na innych rdzeniach procesora, aby przyspieszyć.
Jeśli chodzi o sprzęt, uzyskaj najszybszy procesor, jaki można uzyskać w przypadku aplikacji jednordzeniowych. Więcej niż 2 rdzenie mogą nie odczuwać ogromnej różnicy pod względem wydajności emulatora.
Eclipse + emulator Androida razem pochłaniają mnóstwo pamięci RAM. Poleciłbym 3 gigabajty pamięci RAM przynajmniej dlatego, że korzystałem z systemu z 2 gigabajtami pamięci RAM, a to zwolniło, ponieważ w systemie zabrakło pamięci RAM i zaczął używać pliku strony.
Uważam, że najlepsze procesory zapewnią wysoki zegar (używają zegara jako miernika dla procesorów tej samej serii btw), dobrze radzą sobie z operacjami innymi niż SIMD i mają mechanizm turbo boost. Nie ma wielu testów porównawczych opartych na Javie, ale ogólny wygląd testów porównawczych aplikacji, takich jak kompresja i pakiet Office. Nie patrz na gry ani media, ponieważ SIMD ma na nie duży wpływ. Jeśli znajdziesz wersję Java, jeszcze lepiej.
źródło
W tym roku Google I / O (2011) Google zademonstrował szybszy emulator. Problemem jest nie tyle bajt kodu między ARM a x86, ale renderowanie oprogramowania wykonywane przez QEMU. Pomijają renderowanie QEMU i wysyłają renderowanie bezpośrednio do serwera X, który moim zdaniem. Pokazali grę samochodową o naprawdę dobrych osiągach i fps.
Zastanawiam się, kiedy będzie to dostępne dla programistów ...
źródło
Google ogłosił niedawno nowy emulator dla Androida. Jest znacznie szybszy i lepszy niż stary. Więcej informacji na ten temat można znaleźć tutaj .
źródło
Myślę, że dzieje się tak, ponieważ wirtualna maszyna clr używa procesora bezpośrednio bez tłumaczenia kodu opcode. Może to być optymalizacja dla aplikacji CLR lub Windows Mobile / Windows Phone 7 uruchomiony na procesorze INTEL. Platforma Android oparta na systemie Linux i teoretycznie możesz uruchomić Androida na maszynie wirtualnej w środowisku i686. W takim przypadku maszyny wirtualne, takie jak vmware, mogą bezpośrednio wykonać niektóre kody operacyjne. Ale ta opcja będzie dozwolona tylko wtedy, gdy piszesz na Javie. Ponieważ Java interpretuje swój kod bajtowy lub prekompiluje go przed wykonaniem. patrz: http://www.taranfx.com/how-to-run-google-android-in-virtualbox-vmware-on-netbooks
źródło
Dziękuję @zest! Działa jak urok. Niektóre rzeczy warte uwagi: Konieczność zastosowania poprawki Intel dla HAXM w celu rozwiązania problemu paniki jądra: http://software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager Również należy pamiętać , jeśli masz więcej niż jednego abi, musisz go odinstalować z powodu błędu w najnowszej wersji interfejsu API Androida (r19): https://code.google.com/p/android/issues/detail?id= 66740 (w tym przypadku usuń armeabi-v7a, ponieważ chcesz abi x86). Poza 45-minutowym zajęciem ich rozwiązania, było to bardzo satysfakcjonujące ćwiczenie pod względem zwiększonej wydajności emulatora.
źródło
Możesz także wypróbować Visual Studio Android Emulator , który można również zainstalować jako samodzielny emulator (nie potrzebujesz Visual Studio). Pamiętaj, że można go zainstalować tylko w systemach Windows Pro lub nowszych.
źródło
Użyj Genymotion zamiast emulatora. Genymotion ma lepszą wydajność https://www.genymotion.com
źródło
wybierz emulator niskiej rozdzielczości (np .: Nexus S), jeśli nie masz dobrej karty graficznej (takiej jak ja)
źródło
Korzystałem z procesora / ABI Intel (86). Stworzyłem kolejny emulator za pomocą ARM (armeabi-v7a) i zauważyłem znaczną poprawę prędkości. Korzystam z platformy 4.1.2 interfejsu API poziomu 16
źródło
Mam nadzieję, że to Ci pomoże.
Goto to your BIOS settings. Enable your Virtualization technology in your settings..
To rozwiązało mój problem ...
źródło
Zaktualizuj swój obecny Android Studio do Android Studio 2.0, a także zaktualizuj obrazy systemowe.
Emulator Android Studio 2.0 działa około 3 razy szybciej niż poprzedni emulator Androida, a dzięki ulepszeniom ADB możesz teraz przesyłać aplikacje i dane 10 razy szybciej do emulatora niż do urządzenia fizycznego. Podobnie jak urządzenie fizyczne, oficjalny emulator Androida zawiera także wbudowane usługi Google Play, dzięki czemu możesz przetestować więcej funkcji API. Wreszcie, nowy emulator ma bogate nowe funkcje do zarządzania połączeniami, baterią, siecią, GPS i więcej.
źródło