Pourquoi l'émulateur Android est-il si lent? Comment pouvons-nous accélérer l'émulateur Android?


Answers

NOTE IMPORTANTE : S'il vous plaît se référer d' abord à la liste Intel sur VT pour s'assurer que votre CPU supporte Intel VT.

HAXM accélère l'émulateur Android lent

HAXM signifie "Intel Hardware Accelerated Execution Manager"

Actuellement, il ne supporte que Intel® VT (Intel Virtualization Technology).

L'émulateur Android est basé sur QEMU . L'interface entre QEMU et le pilote HAXM sur le système hôte est conçue pour être indépendante du fournisseur.

Procédure de configuration de votre environnement de développement Android pour HAXM

  1. Mettre à jour Eclipse: Assurez-vous que votre installation Eclipse et le plug-in ADT sont entièrement à jour.

  2. Mettez à jour vos outils Android: après chaque mise à jour du plug-in Eclipse, il est important de mettre à jour vos outils SDK Android. Pour ce faire, lancez le gestionnaire de SDK Android et mettez à jour tous les composants du SDK Android. Pour profiter de HAXM, vous devez être au moins sur la version 17.

  • Téléchargez les images système Atom x86 et le pilote Intel Hardware Accelerated Execution Manager . Suivez l'image ci-dessous:

  • Installez le pilote HAXM en exécutant "IntelHaxm.exe". Il sera situé dans l'un des endroits suivants:

    • 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 le programme d'installation échoue avec le message indiquant qu'Intel VT doit être activé, vous devez l'activer dans le BIOS . Voir la description de la procédure à suivre dans Activation d'Intel VT (technologie de virtualisation) .

  • Créer un nouveau AVD x86: Suivez l'image ci-dessous:

  • Ou comme pour le nouveau SDK,
Question

J'ai un processeur Celeron à 2,67 GHz et 1,21 Go de RAM sur une machine x86 Windows XP Professionnel.

Ma compréhension est que l' émulateur Android devrait démarrer assez rapidement sur une telle machine, mais pour moi, ce n'est pas le cas. J'ai suivi toutes les instructions dans la configuration de l'IDE, des SDK, des JDK et autres et j'ai eu quelques succès en démarrant l'émulateur rapidement, mais c'est très rare. Comment puis-je, si possible, résoudre ce problème?

Même s'il démarre et charge l'écran d'accueil, il est très lent. J'ai essayé l' IDE Eclipse dans la version 3.5 (Galileo) et 3.4 (Ganymede).




La version actuelle (mai 2011) de l'émulateur est lente surtout avec Android 3.0 (Honeycomb) principalement parce que l'émulateur ne supporte pas le matériel GL - cela signifie que le code GL est traduit en logiciel (logiciel ARM, en fait) qui obtient alors émulé dans un logiciel dans QEMU . C'est fou-lent. Ils travaillent sur ce problème et le résolvent partiellement, mais pas avec une quelconque qualité de sortie.

Découvrez la vidéo Google I / O 2011: Outils de développement Android pour le voir en action - passer à environ 44 minutes.




Les émulateurs sont lents. Il n'y a vraiment rien que vous puissiez faire, mais il existe des alternatives à l'émulateur.

  1. Genymotion

  2. VirtualBox

  3. BlueStacks

  4. YouWave

  5. Windows émulateur Android

  6. Pot de haricots

  7. Andy

Pour rendre votre émulateur plus rapide, vous pouvez héberger un GPU et utiliser une version allégée d'Android ( Android 2.3 (Gingerbread)). Développer sur un Mac serait mieux. Pourquoi utiliser un émulateur, BTW? Utiliser un vrai téléphone a plus de sens.




Les anciennes versions d'Android fonctionnent beaucoup plus vite. Quand je suis sur mon netbook, j'utilise Android 1.5 (niveau d'API 3). Il y a cependant quelques inconvénients: vos applications doivent prendre en charge les anciennes plates-formes (évidemment), et ndk-gdb nécessite l'utilisation d'Android 2.2 (niveau d'API 8) ou supérieur. Mais tester des applications régulièrement sur des plates-formes plus anciennes est une bonne idée de toute façon.




Pour ajouter plus d'informations à cela.

J'ai récemment mis à jour mon installation d' Ubuntu 10.04 vers Ubuntu 10.04 LTS (Lucid Lynx) qui à son tour a mis à jour ma version de Java vers:

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)

Et maintenant l'émulateur (bien que cela prenne un peu de temps pour commencer) semble fonctionner plus vite qu'auparavant.

Cela pourrait valoir la peine de mettre à jour leur JVM.




Après avoir développé pendant un moment, mon émulateur est devenu brutalement lent. J'ai choisi d' effacer les données des utilisateurs , et c'était beaucoup mieux. Je suppose qu'il faut du temps pour charger chaque fichier APK que vous avez déployé.




Vous pouvez créer emulator.bat avec la commande suivante pour démarrer l'émulateur. Ça va commencer plus vite.

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

Ou sur Unix (saveurs Mac ou Linux):

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



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.




Voici ce que j'ai remarqué que personne ne l'a mentionné du tout.

Assigner tous les processeurs disponibles à l'émulateur

Voici ce que vous pouvez essayer. Cela accélère l'émulateur pour moi, surtout pendant le chargement. J'ai remarqué que l'émulateur n'utilise qu'un seul noyau du processeur disponible. Je l'ai configuré pour utiliser tous les processeurs disponibles.

J'utilise Windows 7.

Lorsque l'émulateur Android démarre, ouvrez le Gestionnaire des tâches, regardez sous l'onglet Processus, recherchez "emulator-arm.exe" ou "emulator-arm.exe * 32" ... Cliquez avec le bouton droit de la souris, sélectionnez Processor Affinity et affecter autant de processeur que vous le souhaitez à l'émulateur.




Le démarrage de l'émulateur est très lent. La bonne chose est que vous avez seulement besoin de démarrer l'émulateur une fois. Si l'émulateur est déjà en cours d'exécution et que vous réexécutez votre application, l'émulateur réinstalle l'application relativement rapidement. Bien sûr, si vous voulez savoir à quelle vitesse il va fonctionner sur un téléphone, il est préférable de le tester sur un vrai téléphone.




L'émulateur semble se ralentir lorsqu'il est inactif. Ceci est rendu évident en passant rapidement la souris sur les touches latérales et en observant les réponses lumineuses. Pour contourner ce -icount auto , je passe -icount auto à QEMU lors du démarrage de l'émulateur. Vous pouvez créer un fichier batch appelé my_avd.bat pour le faire pour vous:

emulator @my_avd -no-boot-anim -qemu -icount auto
  • @my_avd - lance un périphérique virtuel nommé 'my_avd'
  • -no-boot-anim - désactive l'animation pour un démarrage plus rapide
  • -qemu args... - passe les arguments à qemu
  • -icount [N|auto] - -icount [N|auto] compteur d'instructions virtuelles avec 2 ^ N ticks d'horloge par instruction

Cela a rendu les animations au beurre lisses et accéléré l'installation d' adb install décuplée.




MISE À JOUR: La dernière version d'Android studio (2.x) a apporté des améliorations majeures à l'émulateur fourni. C'est réactif et a tout un tas de fonctionnalités.

Pour ceux qui sont toujours intéressés: Essayez d'utiliser Genymotion . Vous pouvez télécharger une version pour Windows / Mac OS X / Linux après l'enregistrement. Un plugin pour Eclipse est également disponible:

L'installation du plugin peut être faite en lançant Eclipse et en allant dans le menu "Aide / Installer un nouveau logiciel", puis ajoutez simplement un nouveau site de mise à jour avec l'URL suivante: http://plugins.genymotion.com/eclipse . Suivez les étapes indiquées par Eclipse.

Cet émulateur est rapide et réactif.

GenyMotion vous permet de contrôler divers capteurs de votre appareil, y compris le niveau de la batterie, la force du signal et le GPS. La dernière version contient maintenant des outils de caméra.




La version 9 de l'émulateur Android dispose d'une nouvelle fonctionnalité "instantané". Vous pouvez enregistrer l'état de l'émulateur (créer une image de l'émulateur) et éviter de démarrer lorsque vous démarrez l'émulateur.




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.




Essayez de désactiver votre antivirus. Peut-être que cela rendra l'émulateur un peu plus rapide.




Links