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




emulateur memu (25)

Essayez genymotion.com pour Android Studio. Brûlant vite! Juste besoin d'une installation unique. Pas plus de douleur AVD.

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

Si j'ai bien compris, l' émulateur Android devrait démarrer assez rapidement sur une telle machine, mais ce n'est pas le cas pour moi. J'ai suivi toutes les instructions pour configurer l'EDI, les SDK, les JDK, etc., et j'ai réussi à démarrer 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 en versions 3.5 (Galileo) et 3.4 (Ganymede).


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 plug-in peut être effectuée 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, notamment le niveau de la batterie, la force du signal et le GPS. La dernière version contient maintenant également des outils de caméra.


Essayez Android x86 . C'est beaucoup plus rapide que l'émulateur Google Android. Suivez ces étapes:

  1. Installez VirtualBox .
  2. Téléchargez le fichier ISO dont vous avez besoin.
  3. Créez une machine virtuelle sous Linux 2.6 / Other Linux, 512 Mo de RAM, HD 2 Go. Réseau: PCnet-Fast III, attaché au NAT . Vous pouvez également utiliser un adaptateur ponté, mais vous avez besoin d'un serveur DHCP dans votre environnement.
  4. Installez Android x86 sur l'émulateur, lancez-le.
  5. Appuyez sur Alt + F1 , tapez netcfg , rappelez-vous l'adresse IP, appuyez sur Alt + F7 .
  6. Exécutez cmd sur votre système Windows XP, changez le répertoire en votre répertoire d’outils Android, tapez adb connect <virtual_machine_IP> .
  7. Lancez Eclipse, ouvrez le plugin ADT, trouvez le périphérique et profitez-en!

SDK Android rév. 17 prend en charge l'accélération de machine virtuelle à l'aide des technologies de virtualisation AMD et Intel.

Cette fonctionnalité peut améliorer beaucoup les performances de l'émulateur!

Consultez la section suivante de la documentation de l'émulateur Android pour plus de détails: Configuration de l'accélération de machine virtuelle

N'oubliez pas d'installer le pilote approprié à votre système d'exploitation:

Après avoir installé les pilotes et téléchargé une image système Android X86 (comme décrit dans la documentation), vous devriez pouvoir créer un nouveau fichier AVD à l'aide de l'image x86:

Par exemple:

  • Cible: Image système Intel Atom x86 - API de niveau 10
  • CPU / ABI: Intel Atom (x86)

Les anciennes versions d'Android sont beaucoup plus rapides. Sur mon netbook, j'utilise Android 1.5 (API de niveau 3). Il existe cependant quelques inconvénients: vos applications doivent (évidemment) prendre en charge les anciennes plates-formes, et ndk-gdb nécessite l'exécution d'Android 2.2 (niveau d'API 8) ou supérieure. Cependant, tester régulièrement des applications sur des plateformes plus anciennes est une bonne idée.


J'ai remarqué que mon émulateur ( plug-in Eclipse ) était considérablement ralenti par les paramètres d'anti-aliasing de ma carte graphique Nvidia . Le fait de supprimer 2x anti-aliasing du menu graphique et de le remplacer par une application contrôlée le rend plus réactif. C'est encore lent, mais meilleur qu'avant.


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 sous Unix (Mac ou Linux):

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

L'émulateur inclus dans votre (ancienne) version d'Eclipse est très lent.

Les émulateurs récents sont plus rapides qu’ils ne l’étaient en 2010. Mettez à jour votre SDK / IDE.

Personnellement, j'utilise un vrai téléphone pour faire mes tests. C'est plus rapide et les tests sont plus réalistes. Mais si vous souhaitez tester votre application sur de nombreuses versions d'Android et ne pas acheter plusieurs téléphones, vous devrez utiliser l'émulateur de temps à autre.


Vous pouvez consulter les problèmes relatifs à l'émulateur sur la conversation Google I / O 2011: Outils de développement Android , à partir de 0:40:20.

L'émulateur s'exécute lentement car tout l'environnement Android est exécuté sur du matériel émulé et les instructions sont également exécutées sur un processeur ARM émulé.

Le principal point d'étouffement est le rendu, car il ne fonctionne sur aucun matériel dédié, mais il est en fait exécuté via un rendu logiciel. Réduire la taille de l'écran améliorera considérablement les performances de l'émulateur. Obtenir plus / mémoire plus rapide ne va pas aider.

À ce moment-là, ils ont mentionné qu'ils développaient une interface qui permettrait à l'émulateur de transmettre certaines instructions au matériel hôte. Vous pourrez donc éventuellement exploiter les performances de l'émulateur avec la puissance brute du matériel de bureau.


Mettre à jour

Vous pouvez maintenant activer l'option de démarrage rapide pour Android Emulator. Cela économisera l’état de l’émulateur et le lancera rapidement au prochain démarrage.

Cliquez sur le bouton d'édition de l'émulateur, puis sur Afficher les paramètres avancés . Activez ensuite Quick Boot comme ci-dessous.

Android Development Tools (ADT) 9.0.0 (ou une version ultérieure) possède une fonctionnalité qui vous permet de sauvegarder l’état de l’AVD (émulateur) et vous permet de démarrer votre émulateur instantanément. Vous devez activer cette fonctionnalité lors de la création d'un nouveau fichier AVD ou vous pouvez simplement le créer ultérieurement en modifiant le fichier AVD.

De plus, j'ai augmenté la Device RAM Size l' Device RAM Size à 1024 ce qui donne un émulateur très rapide.

Reportez-vous aux captures d'écran ci-dessous pour plus d'informations.

Création d'un nouveau DAV avec la fonction de sauvegarde d'instantané.

Lancer l'émulateur à partir de l'instantané.

Et pour accélérer votre émulateur, vous pouvez vous référer à Accélérez votre émulateur Android! :


Pour ajouter des informations supplémentaires à cela.

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

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) semble fonctionner plus rapidement que précédemment.

Cela vaut peut-être la peine de mettre à niveau leur machine virtuelle.


Les émulateurs sont lents. Vous ne pouvez vraiment rien y faire, mais il existe des alternatives à l'émulateur.

  1. Genymotion

  2. VirtualBox

  3. BlueStacks

  4. YouWave

  5. Emulateur Windows Android

  6. Pot de haricots

  7. Andy

Pour rendre votre émulateur plus rapide, vous pouvez héberger un GPU et utiliser une version Android plus légère ( 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.


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


L'émulateur semble se ralentir lorsqu'il est inactif. Cela se traduit par un survol rapide des touches du côté et par l’observation des réponses lumineuses. Pour contourner le -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 rendait les animations plus fluides et adb install décuple.


L'émulateur Android est très lent. Il faut 800 Mo de mémoire en cours d'exécution. Si vous êtes sous Windows, vous pouvez utiliser Microsoft Android Emulator. Il est superbe et vous offre des fonctionnalités bien plus qu’Android Studio Emulator. Et le plus important c'est rapide (consomme 13Mo seulement).Il est livré avec Visual Studio 2015 Technical Preview. Je l'utilise et heureux avec elle. J'ai téléchargé et installé l'intégralité du pack VS. J'ai besoin de savoir comment installer VS Emulator uniquement.

Visual Studio Emulator pour Android

EDIT: essayez https://www.visualstudio.com/vs/msft-android-emulator/


Eh bien, puisque quelqu'un a suggéré Android x86 comme émulateur de tests alternatifs, je vous présenterai également mon préféré. Ce n'est peut-être pas une alternative pour tout le monde, mais pour moi c'est parfait!

Utilisez le lecteur Bluestacks . Il fonctionne sous Android 2.3.4 et est très fluide et rapide. Parfois, il est même plus rapide qu'un appareil normal. Le seul inconvénient est que vous pouvez simplement tester des applications sur l'API de niveau 10 et sur une seule taille d'écran, mais c'est parfait pour tester si cela fonctionne ou non. Il suffit de connecter le joueur avec le adben cours d'exécution

adb connect 127.0.0.1 

Après la compilation, il s'installe instantanément. C'est très impressionnant, vu que j'ai un matériel informatique plutôt moyen (double cœur avec 4 Go de RAM).


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


À partir de la révision 17 des outils de développement SDK Android, l'émulateur peut utiliser l'accélération graphique et les extensions fournies par le processeur pour une meilleure efficacité. Les conditions préalables, la configuration complète et les notes de l’utilisateur se trouvent à:

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

Pour activer l'accélération GPU , exécutez l'émulateur à partir de la ligne de commande ou ajoutez "-gpu on" aux options supplémentaires de la ligne de commande de l'émulateur dans la configuration AVD.

emulator -avd <avd_name> -gpu on

Pour utiliser les extensions de machine du processeur, vous devez installer le pilote (attention, car il peut entrer en conflit avec les pilotes VirtualBox ou VMware existants). Une fois installé, il sera automatiquement utilisé chaque fois que vous utiliserez un fichier AVD x86.



J'avais des temps de chargement intermittents avec émulateur lent (SDK v8.0), jusqu'à trois minutes sur un processeur Intel Core i7 920 à 2,67 GHz s'exécutant sur un invité Xubuntu 10.04 VirtualBox 3.2.12 avec Eclipse (3.6.1) chargé. J'ai changé la mémoire de l'invité VirtualBox de 1024 Mo à 2048 Mo et à partir de ce moment-là, je n'ai plus jamais ressenti de lenteur (temps de chargement cohérent à 33 secondes, charge du processeur à 20%). Eclipse et l'émulateur sont tous les deux des mémoires.



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


REMARQUE IMPORTANTE : veuillez tout d’ abord vous reporter à la liste d’Intel sur le VT pour vous assurer que votre processeur prend en charge le Intel VT.

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

HAXM signifie - "Intel Hardware Accelerated Execution Manager"

Actuellement, il ne prend en charge 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 vendeur.

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

  1. Mise à jour d'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 de SDK Android. Pour ce faire, lancez le gestionnaire de SDK Android et mettez à jour tous les composants du SDK Android. Pour tirer parti de HAXM, vous devez au moins disposer de la version 17.

  • Téléchargez les images du 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 qu'Intel VT doit être activé, vous devez l'activer dans le BIOS . Voir la description de la procédure à suivre dans la rubrique Activation de Intel VT (Virtualization Technology) .

  • Créez un nouveau fichier AVD x86: suivez l’image ci-dessous:

  • Ou comme pour le nouveau SDK,

La version actuelle (mai 2011) de l'émulateur est lente, en particulier avec Android 3.0 (Honeycomb), principalement parce que l'émulateur ne prend pas en charge le matériel GL - cela signifie que le code GL est traduit en logiciel (le logiciel ARM, en fait) qui est ensuite é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 qualité de publication.

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


Les importations en bloc semblent donner de meilleurs résultats si vous pouvez fractionner vos instructions INSERT / UPDATE . Une valeur de 10.000 ou plus a bien fonctionné pour moi sur une table avec seulement quelques lignes, YMMV ...





android performance android-emulator genymotion qemu