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




optimiser memu (20)

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

https://code.i-harness.com


Utilisez l'accélérateur d'émulateur Intel x86

Commencez par installer le HAXM (Intel x86 Emulator Accelerator). Cela peut être téléchargé directement à partir d'Intel ou en utilisant Android SDK Manager. Dans le gestionnaire de SDK, il se trouve sous Extras.

Dans la version d'Android Studio que j'ai utilisée (0.8.9), Android SDK Manager télécharge HAXM, mais n'exécute pas le programme d'installation (je suppose que cela sera résolu dans les versions ultérieures). Pour exécuter le logiciel installé, je devais accéder à C: \ Program Files (x86) \ Android \ android-studio \ sdk \ extras \ intel \ Hardware_Accelerated_Execution_Manager et lancer manuellement intelhaxm.exe.

HAXM fonctionne avec les périphériques Intel. C'est pourquoi un nouvel émulateur avec processeur Intel a été créé.

Créer un nouveau DAV avec Intel Atom x86

Cela améliora considérablement les choses, mais l'émulateur se sentait encore un peu lent. La dernière étape a été de sélectionner Utiliser le GPU hôte dans Android Virtual Device Manager (AVD).

Après ces modifications, Android Emulator a été lancé dans 5 à 10 secondes et s’est déroulé sans décalage notable. Sachez que ces fonctions dépendent du matériel (CPU / GPU) et peuvent ne pas fonctionner sur certains systèmes.


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


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


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


J'ai remarqué que l'émulateur démarre beaucoup plus rapidement s'il n'y a pas de serveur de moniteur de débogage Dalvik (DDMS) connecté. Donc, si vous démarrez l'émulateur à partir de Virtual Device Manager "SDK Setup.exe" et qu'Eclipse n'est pas démarré, l'émulateur fonctionne plus rapidement.

Si vous démarrez l'émulateur à partir d'Eclipse: DDMS est présent, l'émulateur est parfois extrêmement lent, mais parfois plus rapide.


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/


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.



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.


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


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.


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)

Voici ce que j'ai remarqué, personne n'en a parlé du tout.

Attribuer tous les processeurs disponibles à l'émulateur

Voici ce que vous pouvez essayer. Cela accélère l'émulateur pour moi, surtout pendant le temps de 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 de tâches, recherchez la rubrique "emulator-arm.exe" ou "emulator-arm.exe * 32" dans l'onglet "Processus" ... Faites un clic droit dessus, sélectionnez Processor Affinity, puis attribuez autant de processeur que vous le souhaitez à l'émulateur.


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.


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.


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


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


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


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.


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.





qemu