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


Answers

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.

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.

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

  • 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\<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 de cómo hacer esto en Habilitación de Intel VT (Tecnología de virtualización) .

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

  • O en cuanto al nuevo SDK,
Question

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




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.




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.




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




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.







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




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.




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 name>

O en Unix (sabores de Mac o Linux):

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



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.




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.




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.




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.




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.




Para agregar más información a esto.

Recientemente, actualicé mi instalación de Ubuntu 10.04 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.




Links