¿Por qué el emulador de Android es tan lento? ¿Cómo podemos acelerar el emulador de Android?

Tengo un procesador de 2.67 GHz Celeron, y 1.21 GB de RAM en una máquina x86 Windows XP Professional.

Mi comprensión es que el emulador de Android debe comenzar con bastante rapidez en una máquina, pero para mí no. He seguido todas las instrucciones en la configuración de IDE, SDKs, JDKs y tal y han tenido algunos éxitos en iniciar el emulador rápidamente, pero eso es muy raro. ¿Cómo puedo solucionar este problema si es posible?

Incluso si se inicia y carga la pantalla de inicio, es muy lento. He intentado el Eclipse IDE en la versión 3.5 (Galileo) y 3.4 (Ganímedes).

Herramientas de desarrollo de Android (ADT) 9.0.0 (o posterior) tiene una característica que le permite guardar el estado de la AVD (emulador), y puede iniciar su emulador de forma instantánea. Tienes que habilitar esta característica mientras creas un nuevo AVD o simplemente puedes crearlo más tarde editando el AVD.

También he aumentado el Device RAM Size del Device RAM Size a 1024 que da lugar a un emulador muy rápido.

Consulte las siguientes capturas de pantalla para obtener más información.

Creación de un nuevo AVD con la función de salvar instantáneas.

Emulador de Android con función de captura de instantáneas.

Inicio del emulador desde la instantánea.

Inicio del emulador desde la instantánea.

Y para acelerar su emulador puede referirse a acelerar su emulador de Android! :

NOTA IMPORTANTE : Primero consulte la lista Intel sobre VT para asegurarse de que su CPU admite Intel VT.

HAXM acelera el lento Android Emulator

HAXM significa "Intel Hardware Accelerated Execution Manager"

Actualmente sólo admite Intel® VT (Intel Virtualization Technology).

El emulador de Android se basa en QEMU . La interfaz entre QEMU y el controlador HAXM del sistema host está diseñada para ser independiente del proveedor.

HAXM

Pasos para configurar el entorno de desarrollo de Android para HAXM

  1. Actualizar Eclipse: Asegúrese de que la instalación de Eclipse y el complemento de ADT estén completamente actualizados.

  2. Actualice sus herramientas de Android: después de cada actualización del complemento de Eclipse, es importante actualizar sus herramientas de SDK de Android. Para ello, inicie el Administrador de SDK de Android y actualice todos los componentes de SDK de Android. Para aprovechar HAXM, debe estar al menos en la versión 17.

Introduzca aquí la descripción de la imagen

  • Descargue las imágenes del sistema Atom x86 y el controlador Intel Hardware Accelerated Execution Manager . Siga la siguiente imagen:

Introduzca aquí la descripción de la imagen

  • Instale el controlador HAXM ejecutando "IntelHaxm.exe". Estará ubicado en uno de los siguientes lugares:

    • 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

    Si el instalador falla con el mensaje de que Intel VT debe estar activado, debe habilitarlo en el BIOS . Consulte la descripción de cómo hacerlo en Habilitación de Intel VT (Virtualization Technology) .

Instalar .exe o .dmg

  • Crear un nuevo x86 AVD: Siga la imagen de abajo:

Crear AVD

  • O como para el nuevo SDK, Introduzca aquí la descripción de la imagen

Prueba Android x86 . Es mucho más rápido que el emulador de Google Android. Sigue estos pasos:

  1. Instale VirtualBox .
  2. Descargue el archivo ISO que necesita.
  3. Cree una máquina virtual como Linux 2.6 / Otro Linux, 512 MB de RAM, HD 2 GB. Red: PCnet-Fast III, conectado a NAT . También puede utilizar un adaptador puente, pero necesita un servidor DHCP en su entorno.
  4. Instale Android x86 en el emulador, ejecútelo.
  5. Presione Alt + F1 , escriba netcfg , recuerde la dirección IP, presione Alt + F7 .
  6. Ejecute cmd en su sistema Windows XP, cambie el directorio a su directorio de herramientas de Android, escriba adb connect <virtual_machine_IP> .
  7. Inicie Eclipse, abra el complemento ADT, encuentre el dispositivo y disfrute!

ACTUALIZACIÓN: La última versión de Android Studio (2.x) hizo mejoras importantes en el emulador empaquetado. Es sensible y tiene un montón de características.

Para aquellos interesados: Intente usar Genymotion . Puede descargar una versión para Windows / Mac OS X / Linux después de registrarse. También está disponible un complemento para Eclipse:

La instalación del plugin se puede hacer lanzando Eclipse y luego ir al menú "Ayuda / Instalar Nuevo Software", luego simplemente agregue un nuevo Sitio de Actualización con la siguiente URL: http://plugins.genymotion.com/eclipse . Siga los pasos indicados por Eclipse.

Este emulador es rápido y sensible.

GenyMotion le permite controlar varios sensores de su dispositivo incluyendo el nivel de la batería, la intensidad de la señal y el GPS. La última versión ahora también contiene herramientas de cámara.

El emulador incluido en tu (antigua) versión de Eclipse es muy lento.

Los emuladores recientes son más rápidos de lo que usan en 2010. Actualice su SDK / IDE.

Prácticamente, uso un teléfono real para hacer mis pruebas. Es más rápido y las pruebas son más realistas. Pero si quieres probar tu aplicación en muchas versiones de Android diferentes y no quieres comprar varios teléfonos, tendrás que usar el emulador de vez en cuando.

El arranque del emulador es muy lento. Lo bueno es que sólo necesita iniciar el emulador una vez. Si el emulador ya se está ejecutando y vuelve a ejecutar la aplicación, el emulador reinstala la aplicación relativamente rápidamente. Por supuesto, si desea saber qué tan rápido se ejecutará en un teléfono, lo mejor es probarlo en un teléfono real.

Intel lanzó las instrucciones de instalación recomendadas para el emulador ICS el 15 de mayo de 2012. Esto funcionó para mí. El emulador es ahora rápido y la interfaz de usuario es suave.

La primera mitad de las instrucciones son lo suficientemente detalladas, por lo que asumiré que fue capaz de instalar las imágenes del sistema Intel x86 Atom con el gestor SDK de Android, así como con Intel HAXM.

Ahora, asegúrese de que todo lo demás esté configurado para que pueda disfrutar de un emulador de alto rendimiento:

  • Instale Intel Hardware Accelerated Execution Manager (HAXM)

Y comenzarlo:

 sudo kextload -b com.intel.kext.intelhaxm (mac) 

Si HAXM está funcionando correctamente, puede ver este mensaje al iniciar el emulador:

HAX está funcionando y el emulador se ejecuta en modo virt rápido

De lo contrario, puede ver este error:

HAX no funciona y el emulador se ejecuta en el emulador de modo de emulación:
Error al abrir el módulo hax

  • Utilice la emulación de la GPU. No se puede utilizar la opción Instantánea cuando se utiliza la emulación de la GPU a partir de esta escritura. Asegúrese de que la emulación de la GPU está establecida en "sí".

  • Establezca la memoria del dispositivo en 1024 MB o más , pero no más de la configuración de HAXM de Intel. Utilizo 1024 MB por dispositivo y 2048 para HAXM.

¡Siempre revise los ajustes después de guardarlos! El emulador es muy delicado sobre lo que le permite establecer, y se revertirá las configuraciones sin decirle.

Con estos ajustes ya no aparece el teclado del software, ni tampoco las teclas de retroceso, menú y recientes de la pantalla. Esto parece ser una limitación de la imagen actual del sistema ICS Intel x86. Tendrá que usar los atajos de teclado .

En Mac OS tendrá que mantener el control fn + para que las teclas F1F12 funcionen. La página arriba / abajo / izquierda / derecha se puede realizar usando las teclas de control + flecha.

Puede crear emulator.bat con el siguiente comando para iniciar el emulador. Comenzará más rápido.

 emulator.exe -cpu-delay 0 -no-boot-anim -avd avd 

O en Unix (Mac o Linux sabores):

 emulator -cpu-delay 0 -no-boot-anim -avd <avd name> 

He notado que el emulador comienza mucho más rápido si no hay un Servidor de Monitor de Debug de Dalvik (DDMS) conectado. Así que si inicia el emulador desde Virtual Device Manager "SDK Setup.exe" y Eclipse no se inicia, el emulador funciona más rápido.

Si inicia el emulador desde Eclipse: DDMS está allí, así que a veces el emulador es extremadamente lento, pero a veces es más rápido.

Los emuladores son lentos. Realmente no hay nada que puedas hacer al respecto, pero hay alternativas al emulador.

  1. Genymotion – Preferido

  2. VirtualBox

  3. BlueStacks

  4. Le hace señas

  5. Emulador de Windows para Android

  6. Tarro de Frijoles

  7. Andy

Para que su emulador sea más rápido, puede alojar una GPU y utilizar una versión Android más ligera ( Android 2.3 (Gingerbread)). Desarrollar en un Mac sería mejor. ¿Por qué usar un emulador, BTW? Usar un teléfono real tiene más sentido.

A partir de la Revisión 17 de Android SDK Tools, el emulador puede usar aceleración gráfica y extensiones proporcionadas por CPU para una mejor eficiencia. Los requisitos previos y la configuración completa y las notas de usuario se encuentran en:

http://developer.android.com/guide/developing/devices/emulator.html#acceleration

Para habilitar la aceleración de la GPU , ejecute el emulador desde la línea de comandos o agregue "-gpu on" a las opciones de la línea de comandos del emulador adicional en la configuración de AVD.

 emulator -avd <avd_name> -gpu on 

Para usar las extensiones de la máquina de la CPU, usted tiene que instalar el conductor (precaución porque puede entrar en conflicto con los conductores existentes de VirtualBox o de VMware ). Una vez instalado, se utilizará automáticamente cada vez que utilice un AVD basado en x86.

Android SDK rev. 17 soporta Virtual Machine Acceleration utilizando tecnologías de virtualización AMD e Intel.

Esta característica puede mejorar el rendimiento del emulador mucho!

Consulte la sección siguiente en la documentación del emulador de Android para obtener más detalles: Configuración de la aceleración de la máquina virtual

No olvide instalar el controlador adecuado para su sistema operativo:

  • Configuración de VM Acceleration en Windows
  • Configuración de VM Acceleration en Mac
  • Configuración de VM Acceleration en Linux

Después de haber instalado los controladores y descargado una imagen del sistema Android X86 (como se describe en la documentación), debería ser capaz de crear un nuevo AVD utilizando la imagen x86:

Por ejemplo:

  • Objetivo: Imagen del sistema Intel Atom x86 – Nivel de API 10
  • CPU / ABI: Intel Atom (x86)

Intentar inhabilitar su antivirus. Tal vez hará emulador un poco más rápido.

El emulador parece ralentizarse cuando está inactivo. Esto se pone de manifiesto haciendo un mousing rápido sobre las teclas en el lado y observando las respuestas de iluminación. Como solución, paso -icount auto a QEMU al iniciar el emulador. Puede hacer un archivo por lotes llamado my_avd.bat para hacerlo por usted:

  Emulador @my_avd -no-boot-anim -qemu -icount auto 
  • @my_avd@my_avd un dispositivo virtual llamado 'my_avd'
  • -no-boot-anim – deshabilita la animación para un arranque más rápido
  • -qemu args... – pasar argumentos a qemu
  • -icount [N|auto] – habilita el contador de instrucciones virtual con 2 ^ N marcas de reloj por instrucción

Esto hizo que las animaciones de mantequilla suave y acelerado adb install diez veces.

La opción -cpu-delay <delay> describe en Emulator Startup Options puede ayudar.

El emulador de Android versión 9 tiene una nueva función de "instantánea". Puede guardar el estado del emulador (hacer una imagen del emulador) y evitar el arranque cuando se inicia el emulador.

Puedes consultar los problemas del emulador en Google I / O 2011: las herramientas de desarrollo de Android hablan, empezando un 0:40:20.

El emulador se ejecuta lentamente porque el entorno completo de Android se ejecuta en hardware emulado y las instrucciones se ejecutan en un procesador ARM emulado también.

El principal punto de ahogamiento es la renderización, ya que no se está ejecutando en ningún hardware dedicado, pero en realidad se está realizando a través de la prestación de software. Bajar el tamaño de la pantalla mejorará drásticamente el rendimiento del emulador. Obtener más / memoria más rápida no va a ayudar.

Han mencionado, en ese momento, que están desarrollando una interfaz que permitiría al emulador canalizar ciertas instrucciones a través del hardware del host, por lo que eventualmente podrá aprovechar las prestaciones del emulador con la potencia bruta del hardware de escritorio.

La versión actual del emulador es lenta en particular con Android 3.0 (Honeycomb) principalmente porque el emulador no soporta hardware GL – esto significa que el código GL se traduce en software (software ARM, de hecho) que luego se obtiene Emulado en software en QEMU . Esto es loco-lento. Están trabajando en este problema y lo tienen parcialmente resuelto, pero no con cualquier clase de calidad de la liberación.

Echa un vistazo al video Google I / O 2011: Herramientas de desarrollo de Android para verlo en acción – saltar a unos 44 minutos.

Una nueva opción es el emulador de Visual Studio para Android: es rápido, Hyper-V , x86 y gratuito para descargar incluso sin VS.

Para añadir más información a esto.

Recientemente he actualizado mi instalación de Ubuntu a Ubuntu 10.04 LTS (Lucid Lynx) que a su vez actualizó mi versión de Java a:

 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) 

Y ahora el emulador (aunque toma un tiempo para empezar) parece estar funcionando más rápido que antes.

Podría valer la pena la gente actualizando su JVM.

Esto es lo que noté que nadie lo mencionó en absoluto.

Asigne todos los procesadores disponibles al emulador

Esto es lo que puede probar. Acelera el emulador para mí, especialmente durante el tiempo de carga. Me di cuenta de que el emulador sólo está utilizando un solo núcleo de la CPU disponible. Lo configuré para usar todos los procesadores disponibles.

Estoy usando Windows 7.

Cuando empiece el emulador de Android, abra el Administrador de tareas, busque en la pestaña Proceso, busque "emulator-arm.exe" o "emulator-arm.exe * 32" … Haga clic con el botón derecho en él, seleccione Processor Affinity and Asigne el procesador que desee al emulador.

Introduzca aquí la descripción de la imagen

Prueba Genymotion para Android Studio. ¡Rápido! Sólo necesita una instalación de tiempo. No más dolor AVD.

Utilice el Intel x86 Emulator Accelerator

Primero, instale el Intel x86 Emulator Accelerator (HAXM). Esto se puede descargar directamente de Intel o utilizando Android SDK Manager. En el SDK Manager se encuentra en Extras.

SDK Manager Captura de pantalla

En la versión de Android Studio que utilicé (0.8.9), Android SDK Manager descarga HAXM, pero en realidad no ejecuta el instalador (supongo que esto se arreglará en versiones posteriores). Para ejecutar el instalado tuve que ir a C: \ Archivos de programa (x86) \ Android \ android-studio \ sdk \ extras \ intel \ Hardware_Accelerated_Execution_Manager e iniciar manualmente intelhaxm.exe.

HAXM funciona con dispositivos Intel, por lo que se crea un nuevo emulador con CPU Intel.

Crear un nuevo AVD utilizando Intel Atom x86

Esto mejoró considerablemente las cosas, pero el emulador todavía se sentía un poco lento. El paso final fue seleccionar Use Host GPU en Android Virtual Device Manager (AVD).

Captura de pantalla AVD Create Options

Después de estos cambios, Android Emulator se lanzó en 5-10 segundos y se ejecutó sin ningún retraso notable. Tenga en cuenta que estas características dependen del hardware (CPU / GPU) y pueden no funcionar en algunos sistemas.

Después de desarrollarme durante un tiempo, mi emulador se hizo brutalmente lento. Elegí limpiar datos de usuario , y fue mucho mejor. Supongo que se necesita tiempo para cargar cada archivo APK que ha implementado.

El emulador de Android está lento. Toma 800MB de memoria mientras se ejecuta. Si está en Windows, puede usar Microsoft Android Emulator. Es excelente, le brinda funcionalidades más que Android Studio Emulator. Y lo más importante es rápido (sólo consume 13 MB). Viene con Visual Studio 2015 Vista previa técnica. Lo estoy usando y feliz con él. He descargado e instalado todo el paquete VS, tengo que ver cómo podemos instalar VS Emulator sólo.

Emulador de Visual Studio para Android

EDIT: Intente https://www.visualstudio.com/vs/msft-android-emulator/

Bueno, ya que alguien sugirió Android x86 como un emulador de prueba alterantive, también voy a presentar mi favorito. Esto puede no ser una alternativa para todos, pero para mí es perfecto!

Utilice el reproductor Bluestacks . Funciona con Android 2.3.4 y es muy fluido y rápido. A veces es incluso más rápido que un dispositivo normal. El único inconveniente es que solo puedes probar aplicaciones en el nivel 10 de la API y sólo en un tamaño de pantalla, pero es perfecto sólo para probar si funciona o no. Just connect the Player with the adb by running

 adb connect 127.0.0.1 

After compiling, it installs instantly. It is very impressive, considering I have rather average computer hardware (dual core with 4 GB of RAM).

To reduce your emulator start-up time you need to check the "Disable Boot Animation" before starting the emulator. Refer to the Android documentation .

If in case you don't know, you do not need to close the emulator every-time you run/debug your app. If you click run/debug when it's already open, your APK file will get uploaded to the emulator and start pretty much immediately. Emulator takes annoyingly long time only when it started the first time.

Here are some tips to speed up the Android emulator: How to speed up the Android Emulator by up to 400% .

I had intermittent slow emulator (SDK v8.0) load times, up to three minutes on Intel Core i7 920 2.67 GHz CPU running on Xubuntu 10.04 VirtualBox 3.2.12 guest with Eclipse (3.6.1) loaded. I changed the VirtualBox guest memory from 1024 MB to 2048 MB and from that point on, I never experienced the slowness again (load times consistent at 33 seconds, CPU load consistent at 20%). Both Eclipse and the emulator are memory hogs.

I noticed that the my emulator ( Eclipse plugin) was significantly slowed by my Nvidia graphics card anti-aliasing settings. Removing 2x anti aliasing from the graphics menu and changing it to application controlled made it more responsive. It is still slow, but better than it used to be.

The older Android versions run a lot faster. When I'm on my netbook, I use Android 1.5 (API level 3). There are a couple of drawbacks, though–your apps need to support the older platforms (obviously), and ndk-gdb requires running Android 2.2 (API level 8) or higher. But regularly testing apps against older platforms is a good idea anyway.

  • Qemu vnc en el emulador androide no responde al teclado y al mouse
  • El emulador de Android cuelga para siempre durante el arranque
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.