Почему эмулятор Android такой медленный? Как мы можем ускорить эмулятор Android?
У меня процессор Celeron с частотой 2,67 ГГц и 1,21 ГБ оперативной памяти на компьютере с Windows XP Professional x86.
Насколько я понимаю, эмулятор Android должен запускаться довольно быстро на такой машине, но для меня это не так. Я выполнил все инструкции по настройке IDE, SDK, JDK и т. Д. И добился некоторого успеха в быстром запуске эмулятора, но это очень редко. Как я могу, если возможно, решить эту проблему?
Даже если он запускается и загружает домашний экран, он очень вялый. Я пробовал Eclipse IDE в версии 3.5 (Galileo) и 3.4 (Ganymede).
77 ответов
Обновить
Теперь вы можете включить опцию быстрой загрузки для эмулятора Android. Это сохранит состояние эмулятора и быстро запустит эмулятор при следующей загрузке.
Нажмите кнопку редактирования эмулятора, затем нажмите " Показать дополнительные настройки". Затем включите Quick Boot
как на скриншоте ниже.
Android Development Tools (ADT) 9.0.0 (или более поздняя версия) имеет функцию, которая позволяет вам сохранять состояние AVD (эмулятора), и вы можете сразу же запустить свой эмулятор. Вы должны включить эту функцию при создании нового AVD, или вы можете просто создать его позже, отредактировав AVD.
Также я увеличил Device RAM Size
в 1024
что приводит к очень быстрому эмулятору.
Обратитесь к приведенным ниже скриншотам для получения дополнительной информации.
Создание нового AVD с функцией сохранения снимка.
Запуск эмулятора из снимка.
А для ускорения эмулятора вы можете обратиться к разделу "Ускорить эмулятор Android"!:
ВАЖНОЕ ПРИМЕЧАНИЕ: Пожалуйста, сначала обратитесь к списку Intel о VT, чтобы убедиться, что ваш процессор поддерживает Intel VT.
HAXM ускоряет медленный эмулятор Android
HAXM расшифровывается как "Intel Hardware Acceleted Execution Manager"
В настоящее время он поддерживает только Intel® VT (технология виртуализации Intel).
Эмулятор Android основан на QEMU. Интерфейс между QEMU и драйвером HAXM в хост-системе разработан независимо от поставщика.
Шаги по настройке среды разработки Android для HAXM
Обновите Eclipse: убедитесь, что ваша установка Eclipse и плагин ADT полностью обновлены.
Обновите инструменты Android. После каждого обновления плагина Eclipse важно обновлять инструменты Android SDK. Для этого запустите Android SDK Manager и обновите все компоненты Android SDK. Чтобы воспользоваться HAXM, вы должны быть как минимум на версии 17.
- Загрузите образы системы x86 Atom и драйвер Intel Hardware Accelerated Execution Manager. Следуйте изображению ниже:
Установите драйвер HAXM, запустив "IntelHaxm.exe". Он будет расположен в одном из следующих мест:
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
Если установщик завершает работу с сообщением о том, что Intel VT должен быть включен, необходимо включить это в BIOS. Описание того, как это сделать, см. В разделе "Включение Intel VT (технология виртуализации)".
- Создайте новый x86 AVD: следуйте изображению ниже:
- Или что касается нового SDK,
Попробуйте Android x86. Это намного быстрее, чем эмулятор Google Android. Следуй этим шагам:
- Установите VirtualBox.
- Загрузите файл ISO, который вам нужен.
- Создайте виртуальную машину под Linux 2.6/Other Linux, 512 МБ ОЗУ, HD 2 ГБ. Сеть: PCnet-Fast III, подключенная к NAT. Вы также можете использовать мостовой адаптер, но вам нужен DHCP- сервер в вашей среде.
- Установите Android x86 на эмуляторе, запустите его.
- Нажмите Alt+F1, введите
netcfg
Запомните IP-адрес, нажмите Alt+F7. - Запустите cmd в своей системе Windows XP, измените каталог на каталог инструментов Android, введите
adb connect <virtual_machine_IP>
, - Запустите Eclipse, откройте плагин ADT, найдите устройство и наслаждайтесь!
ОБНОВЛЕНИЕ: последняя версия Android Studio (2.x) внесла значительные улучшения в комплектный эмулятор. Это отзывчивый и имеет целый ряд функций.
Для тех, кто еще заинтересован: попробуйте использовать Genymotion. Вы можете скачать версию для Windows/Mac OS X/Linux после регистрации. Плагин для Eclipse также доступен:
Установка плагина может быть выполнена путем запуска Eclipse и перехода в меню "Справка / Установка нового программного обеспечения", затем просто добавьте новый сайт обновлений со следующим URL-адресом: http://plugins.genymotion.com/eclipse. Следуйте указаниям Eclipse.
Этот эмулятор быстрый и отзывчивый.
GenyMotion позволяет управлять различными датчиками вашего устройства, включая уровень заряда батареи, уровень сигнала и GPS. Последняя версия теперь также содержит инструменты камеры.
Эмулятор, включенный в вашу (старую) версию Eclipse, работает очень медленно.
Последние эмуляторы работают быстрее, чем в 2010 году. Обновите SDK/IDE.
Лично я использую реальный телефон, чтобы делать свои тесты. Это быстрее и тесты более реалистичны. Но если вы хотите протестировать свое приложение на множестве разных версий Android и не хотите покупать несколько телефонов, вам придется время от времени использовать эмулятор.
Запуск эмулятора очень медленный. Хорошо, что вам нужно запустить эмулятор только один раз. Если эмулятор уже запущен и вы снова запускаете приложение, эмулятор переустанавливает приложение относительно быстро. Конечно, если вы хотите узнать, насколько быстро он будет работать на телефоне, лучше всего протестировать его на реальном телефоне.
Intel выпустила рекомендованные инструкции по установке эмулятора ICS 15 мая 2012 года. Это сработало для меня. Эмулятор теперь быстрый, а интерфейс - плавный.
Первая половина инструкций достаточно подробна, поэтому я предполагаю, что вы смогли установить образы систем Intel x86 Atom с помощью менеджера SDK Android, а также Intel HAXM.
Теперь, чтобы убедиться, что все остальное настроено так, чтобы вы могли наслаждаться высокопроизводительным эмулятором:
И начать это:
sudo kextload -b com.intel.kext.intelhaxm (mac)
Если HAXM работает правильно, вы можете увидеть это сообщение при запуске эмулятора:
HAX работает и эмулятор работает в быстром виртуальном режиме
В противном случае вы можете увидеть эту ошибку:
HAX не работает и эмулятор работает в режиме эмуляции:
Не удалось открыть модуль hax
Используйте эмуляцию GPU. На момент написания этой статьи нельзя использовать параметр "Снимок" при использовании эмуляции графического процессора. Убедитесь, что для эмуляции графического процессора установлено значение "да".
Установите для памяти устройства значение 1024 МБ или более, но не более, чем параметр Intel HAXM. Я использую 1024 МБ на устройство и 2048 для HAXM.
Всегда перепроверяйте настройки после сохранения! Эмулятор очень требователен к тому, что он позволяет вам установить, и он вернет конфигурации, не сообщая вам.
С этими настройками больше не появляется программная клавиатура, а также экранная клавиша "Назад", меню и последние клавиши. Похоже, что это ограничение текущего образа системы ICS Intel x86. Вам нужно будет использовать сочетания клавиш.
В Mac OS вам нужно будет удерживать клавишу fn +, чтобы клавиши F1 - F12 работали. Страница вверх / вниз / влево / вправо может быть выполнена с помощью клавиш управления + стрелки.
Вы можете создать emulator.bat с помощью следующей команды для запуска эмулятора. Это начнется быстрее.
emulator.exe -cpu-delay 0 -no-boot-anim @<avd name>
Или в Unix (Mac или Linux):
emulator -cpu-delay 0 -no-boot-anim @<avd name>
Я заметил, что эмулятор запускается намного быстрее, если не подключен Dalvik Debug Monitor Server (DDMS). Таким образом, если вы запускаете эмулятор из диспетчера виртуальных устройств "SDK Setup.exe" и Eclipse не запускается, эмулятор работает быстрее.
Если вы запускаете эмулятор из Eclipse: здесь есть DDMS, поэтому иногда эмулятор работает очень медленно, а иногда быстрее.
Эмуляторы медленные. Вы действительно ничего не можете с этим поделать, но есть альтернативы эмулятору.
Чтобы сделать ваш эмулятор быстрее, вы можете разместить графический процессор и использовать более легкую версию Android ( Android 2.3 (Gingerbread)). Разработка на Mac была бы лучше. Зачем использовать эмулятор, кстати? Использование реального телефона имеет больше смысла.
Начиная с версии 17 Android SDK Tools, эмулятор может использовать графическое ускорение и предоставляемые процессором расширения для повышения эффективности. Предварительные условия, полная конфигурация и примечания пользователя находятся по адресу:
http://developer.android.com/guide/developing/devices/emulator.html
Для включения ускорения графического процессора запустите эмулятор из командной строки или добавьте "-gpu on" к дополнительным параметрам командной строки эмулятора в конфигурации AVD.
emulator -avd <avd_name> -gpu on
Для использования расширений процессора вы должны установить драйвер (будьте осторожны, поскольку он может конфликтовать с существующими драйверами VirtualBox или VMware). После установки он будет использоваться автоматически всякий раз, когда вы используете AVD на базе x86.
Попробуйте отключить антивирус. Может быть, это сделает эмулятор немного быстрее.
Android SDK rev. 17 поддерживает ускорение виртуальных машин с использованием технологий виртуализации AMD и Intel.
Эта функция может значительно улучшить производительность эмулятора!
Дополнительную информацию смотрите в следующем разделе документации по эмулятору Android: Настройка ускорения виртуальной машины.
Не забудьте установить соответствующий драйвер для вашей операционной системы:
- Настройка ускорения ВМ в Windows
- Настройка ускорения виртуальной машины на Mac
- Настройка ускорения виртуальных машин в Linux
После того, как вы установили драйверы и загрузили образ системы Android X86 (как описано в документации), вы сможете создать новый AVD, используя образ x86:
Например:
- Цель: образ системы Intel Atom x86 - уровень API 10
- Процессор /ABI: Intel Atom (x86)
Опция -cpu-delay <delay>
описанные в Emulator Startup Options могут помочь.
Эмулятор, кажется, замедляется при простое. Это становится очевидным, если быстро навести курсор на боковые клавиши и наблюдать за реакцией на свет. В качестве обходного пути я прохожу -icount auto
QEMU при запуске эмулятора. Вы можете сделать командный файл с именем my_avd.bat
сделать это для вас:
эмулятор @my_avd -no-boot-anim -qemu -icount auto
@my_avd
- запустить виртуальное устройство с именем "my_avd"-no-boot-anim
- отключить анимацию для более быстрой загрузки-qemu args...
- передать аргументы qemu-icount [N|auto]
- включить виртуальный счетчик команд с 2^N тактами на инструкцию
Это сделало анимацию маслянистой, гладкой и ускоренной adb install
в десять раз.
Вы можете ознакомиться с проблемами эмулятора в Google I/O 2011: доклад по инструментам разработки Android, начиная с 0:40:20.
Эмулятор работает медленно, потому что вся среда Android работает на эмулируемом оборудовании, а инструкции выполняются также на эмулируемом процессоре ARM.
Основным препятствием является рендеринг, поскольку он не работает на каком-либо выделенном оборудовании, но фактически выполняется с помощью программного рендеринга. Уменьшение размера экрана значительно улучшит производительность эмулятора. Увеличение / ускорение памяти не поможет.
В то время они упоминали, что они разрабатывают интерфейс, который позволит эмулятору передавать определенные инструкции через аппаратное обеспечение хоста, так что в конечном итоге вы сможете использовать производительность эмулятора с помощью мощного оборудования настольного компьютера.
Эмулятор Android версии 9 имеет новую функцию "снимок". Вы можете сохранить состояние эмулятора (создать образ эмулятора) и избежать загрузки при запуске эмулятора.
Используйте ускоритель Intel x86 Emulator
Сначала установите Intel x86 Emulator Accelerator (HAXM). Это можно загрузить непосредственно с Intel или с помощью Android SDK Manager. В диспетчере SDK он находится в разделе "Дополнительно".
В версии Android Studio, которую я использовал (0.8.9), Android SDK Manager загружает HAXM, но фактически не запускает установщик (я предполагаю, что это будет исправлено в более поздних выпусках). Чтобы запустить установщик, мне нужно было зайти в C:\Program Files (x86)\Android\android-studio\sdk\extras\intel\Hardware_Accelerated_Execution_Manager и вручную запустить intelhaxm.exe.
HAXM работает с устройствами Intel, поэтому создал новый эмулятор с процессором Intel.
Создайте новый AVD с помощью Intel Atom x86
Это значительно улучшило ситуацию, но эмулятор все еще чувствовал себя немного вялым. Завершающим этапом был выбор "Использовать хост-графический процессор" в диспетчере виртуальных устройств Android (AVD).
После этих изменений Android Emulator запускался через 5-10 секунд и работал без каких-либо заметных задержек. Помните, что эти функции зависят от аппаратного обеспечения (CPU/GPU) и могут не работать в некоторых системах.
Текущая (в мае 2011 г.) версия эмулятора работает медленно, особенно с Android 3.0 (Honeycomb), прежде всего потому, что эмулятор не поддерживает аппаратный GL - это означает, что код GL переводится в программное обеспечение (фактически, программное обеспечение ARM), которое затем получает эмулируется в программном обеспечении в QEMU. Это безумно медленно. Они работают над этой проблемой и частично ее решают, но не с каким-либо качеством выпуска.
Посмотрите видео " Google I/O 2011: инструменты разработки Android", чтобы увидеть его в действии - перейдите к 44 минутам.
Попробуйте Genymotion для Android Studio. Пылающий быстро! Просто нужно один раз установить. Нет больше боли AVD.
Новая опция - эмулятор Visual Studio для Android- это быстрая, Hyper-V, x86 и бесплатная загрузка даже без VS.
Чтобы добавить дополнительную информацию к этому.
Я недавно обновил свою установку Ubuntu до Ubuntu 10.04 LTS (Lucid Lynx), которая, в свою очередь, обновила мою версию Java до:
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)
И теперь эмулятор (хотя и требует времени для запуска), кажется, работает быстрее, чем раньше.
Это может стоить людям, модернизирующим их JVM.
Вот что я заметил, никто не упомянул об этом вообще.
Назначьте все доступные процессоры на эмулятор
Вот что вы можете попробовать. Это ускоряет эмулятор для меня, особенно во время загрузки. Я заметил, что эмулятор использует только одно ядро из доступных процессоров. Я настроил его на использование всех доступных процессоров.
Я использую Windows 7.
Когда эмулятор Android запускается, откройте диспетчер задач, перейдите на вкладку "Процесс", найдите "emulator-arm.exe" или "emulator-arm.exe *32"... Щелкните правой кнопкой мыши на нем, выберите "Сходство с процессором" и назначьте столько эмулятора, сколько захотите, эмулятору.
После некоторой разработки мой эмулятор стал очень медленным. Я выбрал стирание пользовательских данных, и это было намного лучше. Я предполагаю, что для загрузки каждого развернутого вами APK- файла требуется время.
Ну, так как кто-то предложил Android x86 в качестве альтернативного эмулятора тестирования, я также представлю свой любимый. Это не может быть альтернативой для всех, но для меня это идеально!
Используйте проигрыватель Bluestacks. Он работает под управлением Android 2.3.4 и очень плавный и быстрый. Иногда это даже быстрее, чем обычное устройство. Единственным недостатком является то, что вы можете просто тестировать приложения на уровне API уровня 10 и только на одном размере экрана, но это идеально подходит только для тестирования, работает ли он или нет. Просто подключите плеер с adb
запустив
adb connect 127.0.0.1
После компиляции он устанавливается мгновенно. Это очень впечатляет, учитывая, что у меня довольно среднее компьютерное оборудование (двухъядерный с 4 ГБ оперативной памяти).
У меня была периодическая медленная загрузка эмулятора (SDK v8.0), до трех минут на процессоре Intel Core i7 920 с частотой 2,67 ГГц, работающем на гостевой Xubuntu 10.04 VirtualBox 3.2.12 с загруженным Eclipse (3.6.1). Я изменил гостевую память VirtualBox с 1024 МБ до 2048 МБ, и с этого момента я никогда больше не испытывал медлительности (время загрузки соответствовало 33 секундам, загрузка процессора соответствовала 20%). И Eclipse, и эмулятор являются боровами памяти.
Эмулятор Android очень медленно работает. Требуется 800 МБ памяти во время работы. Если вы используете Windows, вы можете использовать Microsoft Android Emulator. Это превосходно, предоставляет вам больше возможностей, чем Android Studio Emulator. И самое главное, это быстро (потребляет только 13 МБ). Он поставляется с Visual Studio 2015 Technical Preview. Я использую это и доволен этим. Я скачал и установил весь пакет VS, мне нужно посмотреть, как мы можем установить только VS Emulator.
Эмулятор Visual Studio для Android
РЕДАКТИРОВАТЬ: Попробуйте https://www.visualstudio.com/vs/msft-android-emulator/
Чтобы сократить время запуска вашего эмулятора, вы должны проверить "Отключить загрузочную анимацию" перед запуском эмулятора. Обратитесь к документации Android.
Если вы не знаете, вам не нужно закрывать эмулятор каждый раз, когда вы запускаете / отлаживаете свое приложение. Если вы нажмете Run / Debug, когда он уже открыт, ваш APK-файл будет загружен в эмулятор и сразу же запустится. Эмулятор занимает досадно долгое время только при первом запуске.
Вот несколько советов по ускорению эмулятора Android: Как ускорить эмулятор Android до 400%.
Я заметил, что мой эмулятор (плагин Eclipse) был значительно замедлен настройками сглаживания моей видеокарты Nvidia. Удаление 2x сглаживания из графического меню и изменение его на управляемое приложением сделало его более отзывчивым. Это все еще медленно, но лучше, чем раньше.
Хороший способ ускорить тестирование эмулятора Android и приложений - установить или обновить Android Studio до версии Android Studio 2.0, а затем перейти в приложение, открыть "Настройки / Настройки", перейти к "Сборка", "Выполнение", "Развертывание" → "Мгновенный запуск". Нажмите Включить мгновенный запуск. И после этого это гарантирует, что у вас есть правильный плагин Gradle для вашего проекта для работы с Instant Run.
И Мгновенный запуск будет выглядеть так
Однако Android Studio сейчас в Preview, вы можете попробовать это сейчас.