rendimiento - porque el emulador de android es tan lento




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

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.

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


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.


El arranque del emulador es muy lento. Lo bueno es que solo necesitas iniciar el emulador una vez. Si el emulador ya se está ejecutando y vuelve a ejecutar la aplicación, el emulador vuelve a instalar la aplicación con relativa rapidez. Por supuesto, si desea saber qué tan rápido se ejecutará en un teléfono, es mejor probarlo en un teléfono real.


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/


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 .


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 puse para utilizar todos los procesadores disponibles.

Estoy usando Windows 7.

Cuando se inicie el emulador de Android, abra el Administrador de tareas, busque en la pestaña Procesar, busque "emulator-arm.exe" o "emulator-arm.exe * 32" ... Haga clic derecho en él, seleccione Procesador de afinidad y Asigna tanto procesador como quieras al emulador.


Intenta desactivar tu antivirus. Tal vez hará el emulador un poco 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.



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.


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!

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>

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.


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.


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! :


Bueno, ya que alguien sugirió Android x86 como un emulador de prueba alternativo, también presentaré mi favorito. Puede que esta no sea una alternativa para todos, pero para mí es perfecta.

Usa el jugador 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 puede probar aplicaciones en el Nivel 10 de API y en un solo tamaño de pantalla, pero es perfecto para probar si funciona o no. Solo conecta el reproductor con el adbejecutando

adb connect 127.0.0.1 

Después de compilar, se instala instantáneamente. Es muy impresionante, teniendo en cuenta que tengo hardware de computadora bastante promedio (doble núcleo con 4 GB de RAM).


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.


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


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





qemu