Что делает эмулятор Android работать быстрее
эмулятор Android немного вялый. Для некоторых устройств, таких как Motorola Droid и Nexus One, приложение работает быстрее в реальном устройстве, чем эмулятор. Это проблема при тестировании игр и визуальных эффектов.
Как заставить эмулятор работать как можно быстрее? Я играл с его параметрами, но еще не нашел конфигурацию, которая показывает заметное улучшение.
20 ответов:
~50% быстрее
Windows:
- установить "Intel x86 Emulator Accelerator (HAXM)" = > SDK-Manager/Extras
- установить "Intel x86 Atom System Images" = > SDK-Manager / Android 2.3.3
перейдите в корневую папку Android SDK и перейдите в extras\intel\Hardware_Accelerated_Execution_Manager. Выполнить файл IntelHaxm.exe для установки. (в Android Studio вы можете перейдите к: Настройки - > Android SDK - > SDK Tools - > Intel x86 Emulator Accelerator (HAXM installer))
создать AVD с" Intel atom x86 " CPU / ABI
- запустите эмулятор и верните консоль, на которой работает HAXM (откройте окно командной строки и выполните команду: sc query intelhaxm)
также не забудьте установить этот
P. S. Во время создания AVD добавить эмуляция памяти: аппаратное / новое / размер ОЗУ устройства / значение настройки 512 или более
Linux:
- установить KVM: откройте GOOGLE, напишите "установка kvm"
- создать AVD с" Intel atom x86 " CPU / ABI
- запуск из командной строки: emulator-avd avd_name-qemu-m 512-enable-kvm
- или запустить из Eclipse: Run / Run Configuration / Tab "Target" - > проверьте Intel x86 AVD и в окне "Дополнительные параметры командной строки эмулятора" добавьте: - qemu-m 512 - включить-kvm (нажмите кнопку Выполнить)
П. С. Для Fedora,для Ubuntu
OS-X:
- в Android SDK Manager установите Intel x86 Atom System Image
- в Диспетчере Android SDK установите Intel x86 Emulator Accelerator (HAXM)
- в finder перейдите в папку установки ускорителя эмулятора Intel и установите IntelHAXM (откройте dmg и запустите установку). Вы можно найти местоположение, наведя курсор мыши на запись ускорителя эмулятора в Диспетчере SDK.
- создайте или обновите AVD и укажите Intel Atom x86 в качестве процессора.
![]()
P. S: проверьте этот инструмент, очень удобно даже trial
обновление: теперь, когда доступен образ Intel x86, лучший ответ-это zest выше.
Как правильно указал CommonsWare, эмулятор работает медленно, потому что он эмулирует процессор ARM, который требует перевода на операционные коды Intel. Эта виртуализация жует процессор.
чтобы сделать эмулятор быстрее, вы должны дать ему больше процессора. Начните с быстрого процессора или обновления, если вы можете.
затем дайте эмулятору больше процессора, который вы есть:
- Отключить Гиперпоточность - поскольку эмулятор, похоже, не использует более одного ядра, hyperthreading фактически уменьшает общее время процессора, которое получит эмулятор. Отключение HT замедлит приложения, которые используют преимущества нескольких процессоров. Гиперпоточность должна быть отключена в BIOS.
- заставить эмулятор работать на процессоре, отличном от CPU 0 - это имеет гораздо меньшее влияние, чем отключение HT, но это помогает некоторые. В Windows можно указать, на каком процессоре будет выполняться процесс. Многие приложения будут жевать CPU 0, и по умолчанию эмулятор работает на CPU 0. Я меняю эмулятор для запуска на последнем. Обратите внимание, что в OS X вы не можете установить сходство (см.: https://superuser.com/questions/149312/how-to-set-processor-affinity-on-a-mac).
Я вижу где-то около 50% улучшение С этими двумя изменениями в месте.
задать соответствие процессоров на Windows 7:
- Открыть Диспетчер Задач
- Нажмите кнопку Просмотреть все процессы (для запуска от имени администратора, в противном случае вы не можете установить соответствие процессора)
- Правой Кнопкой Мыши на эмуляторе.exe и выберите Установить сходство...
- в диалоговом окне установить сходство выберите только последний процессор
Примечание: когда вы изменяете аффинити таким образом, он изменяется только на время жизни процесса. Следующий старт, вы должны сделать это снова.
Я хотел бы предложить давая Genymotion спина. Он работает в VirtualBox Oracle, и будет законно ударил 60 кадров в секунду на умеренной системе.
вот скриншот из одного из моих семинаров, работающих на бюджетной модели MacBook Air 2012 года:
Если вы не можете прочитать текст, это эмулятор Nexus 7, работающий со скоростью 56,6 кадров в секунду. Дополнительный (большой!) бонус заключается в том, что Google Play и сервисы Google Play поставляются в комплекте с виртуальным машины.
(источник демо-анимации можно посмотреть здесь.)
включить аппаратное ускорение GPU (В дополнение к Intel HAXM), если вы используете API 15 v3 или более новые и SDK Tools v17+. Графическое ускорение для эмулятора использует графическое оборудование вашего компьютера разработки, в частности его графический процессор (GPU), чтобы сделать рисование экрана быстрее. Это дает заметный прирост скорости.
чтобы включить графическое ускорение, включенное по умолчанию на вашем эмуляторе: при создании AVD, в разделе Оборудование нажмите кнопку Создать, выберите эмуляция GPU и установите значение Да.
включить ускорение только во время выполнения: используйте флаг-gpu при запуске эмулятора следующим образом:
emulator -avd <avd_name> -gpu onисточник: Google использует учебник эмулятора.
Edit хотя использование образов Intel дает некоторый прирост производительности, производительность, полученная с помощью Genymotion, намного выше. Смотрите ответ пола Ламмертсмы.
Предыдущий Ответ
с ADT rev 17 эмулятор поддерживает запуск системных образов x86 в режиме виртуализации на Windows и Mac OS X. Это оказывает заметное влияние на производительность.
ADT rev 17 записи: http://android-developers.blogspot.jp/2012/03/updated-sdk-tools-and-adt-revision-17.html
Настройка Ускорения Виртуальной Машины: http://developer.android.com/guide/developing/devices/emulator.html#accel-vm
недавно я переключился с ядра 2 @ 2.5 с 3 ГБ оперативной памяти на i7 @ 1.73 с 8 ГБ оперативной памяти (обе системы запускали Ubuntu 10.10), и эмулятор теперь работает как минимум в два раза быстрее. Бросать больше оборудования на него, безусловно, помогает.
просто хотел сказать, что после установки ускорителя Intel HAXM и использования образа Intel Atom эмулятор, похоже, работает в 50 раз быстрее. Разница удивительная, проверьте это!
http://www.developer.com/ws/android/development-tools/haxm-speeds-up-the-android-emulator.html
Я заметил, что эмулятор по умолчанию только ядро 0, где большинство приложений Windows будет по умолчанию "любое" ядро. Кроме того, если вы поместите его на другое ядро (например, последнее ядро), это может заставить эмулятор сойти с ума. Если вы можете, вы можете попробовать поместить свои приложения с тяжелым процессором на другие ядра процессора для повышения скорости.
аппаратно-мудрый, получить самый быстрый процессор вы можете получить, что работает для одноядерных приложений. Более 2 ядер могут не испытывать огромной разницы в терминах производительности эмулятора.
Eclipse + эмулятор Android вместе съедают тонну оперативной памяти. Я бы рекомендовал 3 гигабайта ОЗУ, по крайней мере, потому что я использовал систему с 2 гигабайтами ОЗУ, и она замедлилась, потому что система исчерпала ОЗУ и начала использовать файл подкачки.
Я чувствую, что лучшие процессоры для него, вероятно, будут иметь высокие часы (используйте только часы в качестве меры для процессоров в той же серии btw), хорошо справляются с операциями без SIMD и имеют механизм турбонаддува. Там не так много тестов на основе Java, но в целом ищите тесты приложений, такие как сжатие и office. Не смотрите на игры или медиа, так как они сильно зависят от SIMD. Если вы найдете Java, еще лучше.
в этом году google I / O (2011), Google продемонстрировал более быстрый эмулятор. Проблема заключается не столько в байтовом коде между ARM и x86, но в программном рендеринге, выполняемом QEMU. Они обходят рендеринг QEMU и отправляют рендеринг непосредственно на X-сервер, я считаю. Они показали автомобильную игру с действительно хорошей производительностью и fps.
интересно, когда это будет доступно для разработчиков...
недавно Google анонсировала новый эмулятор для Android. Это гораздо быстрее и лучше, чем старый. Вы можете найти дополнительную информацию об этом здесь.
Я думаю, что это потому,что виртуальная машина clr использует процессор напрямую без перевода кода opcode. Это может быть оптимизация для приложения clr или может быть windows mobile/window phone 7, запущенный на процессоре INTEL. Платформа Android основана на linux и теоретически вы можете запустить android на виртуальной машине в среде i686. В этом случае виртуальные машины, такие как vmware, могут выполнять некоторые коды операций напрямую. Но эта опция будет разрешена только в том случае, если вы пишете на Java. Потому что Java интерпретирует их байт-код или предварительно скомпилировать его перед выполнением. видеть: http://www.taranfx.com/how-to-run-google-android-in-virtualbox-vmware-on-netbooks
спасибо @zest! Сработало как по волшебству. Некоторые вещи Примечание: необходимо применить исправление Intel для HAXM для решения проблемы паники ядра: http://software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager Кроме того, обратите внимание, если у вас есть более одного abi, вам нужно удалить один из-за ошибки в последней версии Android API (r19):https://code.google.com/p/android/issues/detail?id=66740 (Удалите armeabi-v7a в этом случае, так как вы хотите x86 abi). Помимо 45 минут, которые потребовались мне, чтобы решить эти проблемы, это было очень полезное упражнение с точки зрения повышения производительности эмулятора.
о предоставлении убежища...тот, которым управляют безумцы...горе мне...
в моем блоге есть довольно полный ответ http://tenacious33.wordpress.com/2012/04/05/improving-android-emulator-performance/
Я обращусь к R17 "ускоренный режим" в моем блоге через неделю или две. Список предостережений, связанных с ним не внушает доверия или гордость.
Я использую процессор Intel(86)/ABI. Я создал еще один эмулятор, используя ARM (armeabi-v7a), и я нашел довольно улучшение со скоростью. Я использую платформу 4.1.2 API level 16
альтернативой эмулятору является виртуальная машина AndroVM, которая работает намного быстрее эмулятора и поддерживает ускорение OpenGL:
анекдотично, я чувствую, что он работает быстрее, чем реальные устройства Android.
Я надеюсь, что это поможет вам.
Goto to your BIOS settings. Enable your Virtualization technology in your settings..это решило мою проблему...
обновите текущую студию Android до Android Studio 2.0 а также обновить систему образов.
эмулятор Android Studio 2.0 работает ~3 раза быстрее, чем предыдущий эмулятор Android, и с улучшениями ADB теперь вы можете нажимать приложения и данные в 10 раз быстрее на эмулятор, чем на физическое устройство. Как и физическое устройство, официальный эмулятор Android также включает встроенные сервисы Google Play, поэтому вы можете протестировать больше функций API. Наконец, новый эмулятор имеет богатый новые функции для управления вызовами, батареи, сети, GPS и многое другое.
вы также можете попробовать Эмулятор Android Visual Studio, который также может быть установлен как автономный эмулятор (вам не нужна Visual Studio). Обратите внимание, что он может быть установлен только на Windows Pro или более высоких системах.
используйте Genymotion вместо эмулятора. Как Genymotion имеет лучшую производительность https://www.genymotion.com
выберите эмулятор с низким разрешением (например: Nexus S), Если у вас нет хорошей графической карты (как у меня)





Comments