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

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

Según tengo entendido, Android Emulator debería comenzar bastante rápido en una máquina así, pero para mí no es así. He seguido todas las instrucciones para configurar el IDE, SDK, JDK y demás y he tenido éxito al iniciar el emulador rápidamente, pero eso es muy raro. ¿Cómo puedo, si es posible, solucionar este problema?

Incluso si comienza y carga la pantalla de inicio, es muy lento. He probado el Eclipse IDE en la versión 3.5 (Galileo) y 3.4 (Ganimedes).

Actualizar

Ahora puede habilitar la opción de Inicio rápido para Android Emulator. Eso salvará el estado del emulador e iniciará el emulador rápidamente el próximo arranque.

Haga clic en el botón de edición del emulador, luego haga clic en Mostrar configuración avanzada . A continuación, habilite Quick Boot como la siguiente captura de pantalla.

Arranque rápido

Android Development Tools (ADT) 9.0.0 (o posterior) tiene una función que le permite guardar el estado del AVD (emulador) y puede iniciar su emulador al instante. Debe habilitar esta función al crear un AVD nuevo o puede crearlo más tarde editando el AVD.

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

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

Crear un nuevo AVD con la función guardar instantánea.

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

Lanzar el emulador desde la instantánea.

Lanzar el emulador desde la instantánea.

Y para acelerar tu emulador, puedes consultar ¡Acelera tu emulador de Android! :

NOTA IMPORTANTE : consulte primero la lista Intel sobre VT para asegurarse de que su CPU sea compatible con Intel VT.

HAXM acelera el emulador lento de Android

HAXM significa: “Administrador de ejecución acelerada de hardware de Intel”

Actualmente solo es compatible con Intel® VT (Intel Virtualization Technology).

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

HAXM

Pasos para configurar su entorno de desarrollo de Android para HAXM

  1. Actualice Eclipse: asegúrese de que su instalación de Eclipse y el complemento ADT estén completamente actualizados.

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

Ingrese la descripción de la imagen aquí

  • Descargue las imágenes del sistema x86 Atom y el controlador Intel Hardware Accelerated Execution Manager . Sigue la imagen a continuación:

Ingrese la descripción de la imagen aquí

  • Instale el controlador HAXM ejecutando “IntelHaxm.exe”. Estará ubicado en una de las siguientes ubicaciones:

    • C:\Program Files\Android\android-sdk\extras\intel\Hardware_Accelerated_Execution_Manager

    • C:\Users\\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 encendido, debe habilitarlo en el BIOS . Consulte la descripción de cómo hacer esto en Habilitación de Intel VT (Tecnología de virtualización) .

Instalar .exe o .dmg

  • Crea un nuevo AVD x86: sigue la imagen a continuación:

Crear AVD

  • O en cuanto al nuevo SDK, Ingrese la descripción de la imagen aquí

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

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

ACTUALIZACIÓN: la última versión de Android studio (2.x) realizó importantes mejoras en el emulador incluido. Es receptivo y tiene muchas funciones.

Para aquellos que todavía estén interesados: prueba usar Genymotion . Puede descargar una versión para Windows / Mac OS X / Linux después de registrarse. Un plugin para Eclipse también está disponible:

La instalación del complemento se puede realizar iniciando Eclipse y yendo 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 receptivo.

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

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

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

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

El inicio del emulador es muy lento. Lo bueno es que solo necesitas iniciar el emulador una vez. Si el emulador ya se está ejecutando y ejecuta nuevamente la aplicación, el emulador vuelve a instalar la aplicación de manera relativamente rápida. 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 de ICS el 15 de mayo de 2012. Esto funcionó para mí. El emulador ahora es rápido y la interfaz de usuario es suave.

La primera mitad de las instrucciones son lo suficientemente detalladas, así que supongo que fue capaz de instalar las imágenes del sistema Intel x86 Atom utilizando el administrador de Android SDK, así como Intel HAXM.

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

  • Instalar Intel Hardware Accelerated Execution Manager (HAXM)

Y comienza:

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

Si HAXM funciona correctamente, puede ver este mensaje al iniciar el emulador:

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

De lo contrario, puede ver este error:

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

  • Usa la emulación GPU. No puede usar la opción de instantánea cuando usa la emulación de GPU a partir de este escrito. Asegúrese de que la emulación de la GPU esté configurada en “sí”.

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

¡Siempre vuelva a verificar la configuración después de guardar! El emulador es muy exigente con lo que le permite establecer, y revertirá las configuraciones sin decírselo.

Con estas configuraciones, el teclado del software ya no aparece, ni lo hace en la pantalla, el menú y las teclas recientes. 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, deberá mantener presionado el control fn + para que las teclas F1F12 funcionen. La página arriba / abajo / izquierda / derecha se puede realizar usando el control + teclas de 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 @ 

O en Unix (sabores de Mac o Linux):

 emulator -cpu-delay 0 -no-boot-anim @ 

Me di cuenta de que el emulador arranca mucho más rápido si no hay un servidor de monitoreo de depuración Dalvik (DDMS) conectado. Por lo tanto, si inicia el emulador desde el Administrador de dispositivo virtual “SDK Setup.exe” y no se inicia Eclipse, el emulador funciona más rápido.

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

Los emuladores son lentos 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 Android

  6. Tarro de frijoles

  7. Andy

Para que tu emulador sea más rápido, puedes alojar una GPU y usar una versión más ligera de Android ( Android 2.3 (Gingerbread)). Desarrollar en una 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 las Herramientas de Android SDK, el emulador puede usar la aceleración gráfica y las extensiones proporcionadas por la CPU para una mejor eficacia. Los requisitos previos y la configuración completa y las notas del usuario están en:

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

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

 emulator -avd  -gpu on 

Para utilizar las extensiones de la máquina de CPU, debe instalar el controlador (tenga cuidado ya que puede entrar en conflicto con los controladores existentes de VirtualBox o VMware ). Una vez que esté instalado, se usará automáticamente cada vez que use un AVD basado en x86.

Android SDK rev. 17 admite Virtual Machine Acceleration con las tecnologías de virtualización AMD e Intel.

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

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

No olvide instalar el controlador apropiado para su sistema operativo:

  • Configurando VM Acceleration en Windows
  • Configurando VM Acceleration en Mac
  • Configurando VM Acceleration en Linux

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

Por ejemplo:

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

Intenta deshabilitar tu antivirus. Tal vez hará que el emulador sea un poco más rápido.

El emulador parece disminuir la velocidad cuando está inactivo. Esto se hace evidente al pasar rápidamente el mouse sobre las teclas laterales y observar las respuestas de la luz. Como solución alternativa, paso -icount auto a QEMU al iniciar el emulador. Puede hacer que un archivo por lotes llamado my_avd.bat haga por usted:

  emulator @my_avd -no-boot-anim -qemu -icount auto 
  • @my_avd – lanza 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] – habilitar el contador de instrucciones virtuales con 2 ^ N ticks de reloj por instrucción

Esto hizo que las animaciones se mantuvieran suaves y se aceleraran hasta que se adb install diez.

La opción -cpu-delay descrita en las Opciones de inicio del emulador puede ayudar.

Puede revisar los problemas del emulador en Google I / O 2011: hablar sobre las herramientas de desarrollo de Android , comenzando con 0:40:20.

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

El principal punto de asfixia es el renderizado, ya que no se está ejecutando en ningún hardware dedicado, pero en realidad se está realizando a través de la representación del 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 que el emulador transmita ciertas instrucciones a través del hardware del host, por lo que eventualmente podrá aprovechar el rendimiento de los emuladores con la potencia del hardware de escritorio.

La versión 9 del emulador de Android tiene una nueva función de “instantánea”. Puede guardar el estado del emulador (crear una imagen del emulador) y evitar el arranque cuando inicie el emulador.

La versión actual (mayo de 2011) del emulador es lenta, especialmente con Android 3.0 (Honeycomb), principalmente porque el emulador no es compatible con el hardware GL; esto significa que el código GL se traduce en software (de hecho, el software ARM) que luego obtiene emulado en software en QEMU . Esto es loco, lento. Están trabajando en este problema y lo han resuelto parcialmente, pero no con ningún tipo de calidad de lanzamiento.

Mira el video Google I / O 2011: Herramientas de desarrollo de Android para verlo en acción: salta a aproximadamente 44 minutos.

Para agregar más información a esto.

Recientemente, actualicé 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 tarda un poco en comenzar) parece estar ejecutándose más rápido que antes.

Puede valer la pena que las personas actualicen su JVM.

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

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

Asignar todos los procesadores disponibles al emulador

Esto es lo que puedes probar. Acelera el emulador para mí, especialmente durante el tiempo de carga. Noté que el emulador solo está usando un solo núcleo de la CPU disponible. Lo configuré para usar todos los procesadores disponibles.

Estoy usando Windows 7.

Cuando se inicia 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 sobre él, seleccione Afinidad del procesador y asigna tanto emulador como quieras al emulador.

Ingrese la descripción de la imagen aquí

Prueba Genymotion para Android Studio. ¡Rápido! Solo necesita una instalación por única vez. No más dolor AVD.

Utilice el acelerador de emulador Intel x86

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

Captura de pantalla de SDK Manager

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 solucionará en versiones posteriores). Para ejecutar el progtwig instalado, tuve que ir a C: \ Archivos de progtwig (x86) \ Android \ android-studio \ sdk \ extras \ intel \ Hardware_Accelerated_Execution_Manager y lanzar manualmente intelhaxm.exe.

HAXM funciona con dispositivos Intel, por lo que creó un nuevo emulador con CPU Intel.

Crear un nuevo AVD usando Intel Atom x86

Esto mejoró considerablemente las cosas, pero el emulador todavía se sentía un poco lento. El paso final fue seleccionar Usar GPU de host en el Administrador de dispositivos virtuales de Android (AVD).

AVD Create Options Captura de pantalla

Después de estos cambios, Android Emulator se lanzó en 5-10 segundos y se ejecuta sin ningún retraso notable. Tenga en cuenta que estas funciones dependen del hardware (CPU / GPU) y es posible que no funcionen en algunos sistemas.

Después de desarrollar por un tiempo, mi emulador se volvió brutalmente lento. Elegí borrar datos de usuario , y fue mucho mejor. Supongo que lleva tiempo cargar cada archivo APK que has implementado.

El emulador de Android está muerto lento. Toma 800 MB de memoria mientras se ejecuta. Si está en Windows, puede usar Microsoft Android Emulator. Es excelente, le ofrece funcionalidades más que Android Studio Emulator. Y lo más importante es rápido (consume solo 13 MB). Viene con Visual Studio 2015 Technical Preview. Lo estoy usando y estoy feliz con eso. Descargué e instalé todo el paquete VS, necesito ver cómo podemos instalar VS Emulator solamente.

Visual Studio Emulator para Android

EDITAR: Pruebe https://www.visualstudio.com/vs/msft-android-emulator/

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.

Well, since somebody suggested Android x86 as an alterantive testing emulator, I’ll also present my favorite. This might not be an alternative for everyone, but for me it’s perfect!

Use the Bluestacks Player . It runs Android 2.3.4 and is very fluid and fast. Sometimes it is even faster than a normal device. The only downside is, that you can just test apps on the API Level 10 and just on one screen size, but it’s perfect just for testing if it’s working or not. 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).

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.

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% .

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.