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




porque el emulador de android es tan lento (24)

Tengo un procesador Celeron a 2,67 GHz y 1,21 GB de RAM en una máquina x86 con Windows XP Professional.

Mi entendimiento es que el Emulador de Android debería comenzar bastante rápido en una máquina así, pero para mí, no lo hace. He seguido todas las instrucciones para configurar el IDE, los SDK, los JDK y demás, y he tenido cierto éxito al iniciar el emulador rápidamente, pero eso es muy raro. ¿Cómo puedo, si es posible, solucionar este problema?

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


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

HAXM acelera el lento emulador de Android

HAXM significa "Intel Hardware Accelerated Execution Manager"

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

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

Pasos para configurar su entorno de desarrollo de Android para HAXM

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

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

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

  • Instale el controlador HAXM ejecutando "IntelHaxm.exe". Se ubicará en una de las siguientes ubicaciones:

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

  • Cree un nuevo AVD x86: siga la imagen a continuación:

  • O como para el nuevo SDK,

Actualizar

Ahora puede habilitar la opción de inicio rápido para el emulador de Android. Eso ahorrará el estado del emulador y lo iniciará rápidamente en el próximo arranque.

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

Las herramientas de desarrollo de Android (ADT) 9.0.0 (o posterior) tienen una función que le permite guardar el estado del AVD (emulador), y puede iniciar su emulador al instante. Debe habilitar esta función mientras crea un nuevo AVD o puede crearlo más adelante editando el AVD.

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

Consulte las capturas de pantalla que figuran a continuación para obtener más información.

Creando un nuevo AVD con la función de guardar instantáneas.

Ejecutando el emulador desde la instantánea.

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


Intel lanzó las instrucciones de instalación recomendadas para el emulador 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, por lo que asumiré que pudo instalar las imágenes del sistema Intel x86 Atom con el administrador de Android SDK, así como Intel HAXM.

Ahora para asegurarse de que todo lo demás esté configurado para que pueda disfrutar de un emulador de alto rendimiento:

Y comience a hacerlo:

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

Si HAXM funciona correctamente, puede ver este mensaje cuando inicie el emulador:

HAX está funcionando y el emulador se ejecuta en modo 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

  • Usa la emulación de GPU. No puede usar la opción Instantánea cuando use la emulación de GPU en este momento de la escritura. Asegúrese de que la emulación de GPU esté configurada en "sí".

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

¡Siempre revise dos veces la configuración después de guardar! El emulador es muy exigente con lo que te permite configurar y revertirá las configuraciones sin avisarte.

Con estas configuraciones, el teclado del software ya no aparece, ni aparecen las teclas de retroceso, menú y recientes en la pantalla. Esto parece ser una limitación de la imagen actual del sistema ICS Intel x86. Necesitarás usar los atajos de teclado .

En Mac OS, deberá mantener presionado fn + control para que funcionen las teclas F1 - F12 . La página arriba / abajo / izquierda / derecha puede realizarse usando las teclas de control + flechas.


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

  1. Instalar 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, adjunta a NAT . También puede usar un adaptador con puente, pero necesita un servidor DHCP en su entorno.
  4. Instala Android x86 en el emulador, ejecútalo.
  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!

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

emulator @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... - pasa argumentos a qemu
  • -icount [N|auto] - habilita el contador de instrucciones virtuales con 2 ^ N ticks de reloj por instrucción

Esto hizo que las animaciones se mantuvieran suaves y se aceleraron diez veces la adb install .


Android SDK rev. 17 admite la aceleración de máquinas virtuales mediante el uso de 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 detalles: Configuración de la aceleración de máquinas virtuales

No olvide instalar el controlador apropiado para su sistema operativo:

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

Por ejemplo:

  • Destino: imagen del sistema Intel Atom x86 - Nivel API 10
  • CPU / ABI: Intel Atom (x86)

El emulador de Android está muerto lento. Toma 800MB de memoria mientras se ejecuta. Si estás en Windows, puedes usar Microsoft Android Emulator. Es excelente, le proporciona funcionalidades más que Android Studio Emulator. Y lo más importante es que es rápido (solo consume 13 MB). Viene con Visual Studio 2015 Technical Preview. Lo estoy usando y feliz con ello. Descargué e instalé todo el paquete de 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/


Puede revisar los problemas del emulador en la conversación de Google I / O 2011: Herramientas de desarrollo de Android , a partir de las 0:40:20.

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

El punto principal de asfixia es la representación, ya que no se ejecuta en ningún hardware dedicado, sino que se realiza 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 / más rápida memoria no va a ayudar.

En ese momento, mencionaron 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 el rendimiento del emulador con la potencia absoluta del hardware de escritorio.


Para reducir el tiempo de inicio de su emulador, debe marcar "Desactivar animación de inicio" antes de iniciar el emulador. Consulte la documentación de Android .

Si en caso de que no lo sepa, no necesita cerrar el emulador cada vez que ejecuta / depura su aplicación. Si hace clic en ejecutar / depurar cuando ya está abierto, su archivo APK se cargará en el emulador y comenzará casi de inmediato. El emulador toma mucho tiempo solo cuando comenzó la primera vez.

Estos son algunos consejos para acelerar el emulador de Android: Cómo acelerar el emulador de Android hasta en un 400% .


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, uso un teléfono real para hacer mis pruebas. Es más rápido y las pruebas son más realistas. Pero si desea 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.


Utilice el acelerador de emulador Intel x86

Primero, instale el Acelerador de emulador Intel x86 (HAXM). Esto se puede descargar directamente desde Intel o mediante Android SDK Manager. En el Administrador de SDK se encuentra en Extras.

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 programa 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 creó un nuevo Emulador con CPU Intel.

Crea un nuevo AVD usando Intel Atom x86

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

Después de estos cambios, el Android Emulator se inició en 5-10 segundos y se ejecutó 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.



Me he dado cuenta de que el emulador se inicia mucho más rápido si no hay un servidor Dalvik Debug Monitor (DDMS) conectado. Por lo tanto, 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í, por lo que a veces el emulador es extremadamente lento, pero a veces es más rápido.


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 (software ARM, de hecho) que luego se vuelve Emulado en software en QEMU . Esto es una locura lenta. 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 unos 44 minutos.


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


Las versiones anteriores de Android se ejecutan mucho más rápido. Cuando estoy en mi netbook, uso Android 1.5 (nivel API 3). Sin embargo, hay un par de inconvenientes: sus aplicaciones deben ser compatibles con las plataformas más antiguas (obviamente), y ndk-gdb requiere la ejecución de Android 2.2 (API nivel 8) o superior. Pero probar aplicaciones regularmente contra plataformas más antiguas es una buena idea de todos modos.


A partir de la Revisión 17 de las Herramientas del SDK de Android, el emulador puede usar la aceleración de gráficos y las extensiones proporcionadas por la CPU para una mejor eficiencia. Los prerrequisitos 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 GPU , ejecute el emulador desde la línea de comandos o agregue "-gpu on" a las opciones de línea de comandos adicionales del emulador en la configuración de AVD.

emulator -avd <avd_name> -gpu on

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


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

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

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 iniciar) parece estar ejecutándose más rápido que antes.

Podría valer la pena que la gente actualice su JVM.


Noté que la configuración de suavizado de mi tarjeta gráfica Nvidia redujo significativamente mi emulador ( complemento de Eclipse ) . Eliminar el alias de 2x del menú de gráficos y cambiarlo a aplicación controlada lo hizo más receptivo. Todavía es lento, pero mejor de lo que solía ser.Nvidia



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

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

La instalación del complemento se puede realizar iniciando Eclipse y yendo al menú "Ayuda / Instalar nuevo software", luego 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, incluido el nivel de la batería, la potencia de la señal y el GPS. La última versión ahora también contiene herramientas de cámara.


La versión 9 del emulador de Android tiene una nueva característica "instantánea". Puede guardar el estado del emulador (crear una imagen del emulador) y evitar el arranque al iniciar el emulador.



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.





qemu