L'émulateur Android est un peu lent. Pour certains appareils, comme le Motorola Droid et le Nexus One, l'application s'exécute plus rapidement dans l'appareil réel que l'émulateur. C'est un problème lors du test de jeux et d'effets visuels.
Comment faites-vous pour exécuter l'émulateur le plus rapidement possible? J'ai joué avec ses paramètres mais je n'ai pas encore trouvé de configuration qui montre une amélioration notable.
Réponses:
Page web officielle
~ 50% plus rapide
Les fenêtres:
Accédez au dossier racine du SDK Android et accédez à extras \ intel \ Hardware_Accelerated_Execution_Manager. Exécutez le fichier IntelHaxm.exe pour installer. (dans Android Studio, vous pouvez accéder à: Paramètres -> SDK Android -> Outils SDK -> Accélérateur d'émulateur Intel x86 (programme d'installation HAXM))
Créer AVD avec CPU / ABI "Intel atom x86"
N'oubliez pas non plus d'installer celui-ci
PS pendant la création d'AVD ajouter de la mémoire d'émulation: matériel / nouveau / taille de RAM de l'appareil / valeur de configuration 512 ou plus
Linux:
PS Pour Fedora , pour Ubuntu
OS-X:
PS: Vérifiez cet outil, très pratique même en essai
la source
/extras/intel/Hardware_Accelerated_Execution_Manager/IntelHAXM.dmg
après avoir téléchargé le package à partir du gestionnaire SDK.^(?!.*(nativeGetEnabledTags)).*$
comme filtre de texte. J'ai signalé cela comme un problème de bogue . De plus, je pense que vous devez arrêter correctement votre émulateur (maintenez le bouton d'alimentation, puis sélectionnez Éteindre ) pour éviter d'avoir des erreurs lorsque vous le démarrez la prochaine fois (je pourrais simplement fermer l'émulateur ARM, mais avec l'émulateur Intel, la fermeture semble créer des problèmes).MISE À JOUR: Maintenant qu'une image Intel x86 est disponible, la meilleure réponse est par zeste ci-dessus.
Comme CommonsWare l'a correctement souligné, l'émulateur est lent car il émule un processeur ARM, qui nécessite une traduction en opcodes Intel. Cette virtualisation mâche le CPU.
Pour rendre l'émulateur plus rapide, vous devez lui donner plus de CPU. Commencez avec un processeur rapide ou mettez à niveau si vous le pouvez.
Ensuite, donnez à l'émulateur plus de CPU que vous avez:
Je vois quelque part une amélioration de 50% d' avec ces deux changements en place.
Pour définir l'affinité du processeur sous Windows 7:
Remarque: Lorsque vous modifiez l'affinité de cette manière, elle n'est modifiée que pour la durée de vie du processus. Prochain démarrage, vous devez recommencer.
la source
Je voudrais suggérer d' essayer Genymotion . Il s'exécute dans la VirtualBox d'Oracle et atteindra légitimement 60 fps sur un système modéré.
Voici une capture d'écran de l'un de mes ateliers, fonctionnant sur un MacBook Air modèle 2012 bas de gamme:
Si vous ne pouvez pas lire le texte, c'est un émulateur Nexus 7 fonctionnant à 56,6 ips. Le bonus supplémentaire (gros!) Est que Google Play et les services Google Play sont fournis avec les machines virtuelles.
(La source de l'animation démo peut être trouvée ici .)
la source
Activez l' accélération matérielle GPU (en plus de HAXM d'Intel), si vous utilisez API 15 v3 ou plus récente et SDK Tools v17 +. L'accélération graphique de l'émulateur tire parti du matériel graphique de votre ordinateur de développement, en particulier de son unité de traitement graphique (GPU), pour accélérer le dessin d'écran. Cela donne une augmentation notable de la vitesse.
Pour activer l'accélération graphique activée par défaut sur votre émulateur : lors de la création de l'AVD, dans la section Matériel, cliquez sur Nouveau, sélectionnez l'émulation GPU et définissez la valeur sur Oui.
Pour activer l'accélération uniquement lors de l'exécution : utilisez l'indicateur -gpu lors du démarrage de l'émulateur comme ceci:
Source: didacticiel sur l'utilisation de l'émulateur de Google .
la source
Modifier Bien que l'utilisation des images Intel obtienne des gains de performances, les performances obtenues en utilisant Genymotion sont beaucoup plus importantes. Voir la réponse de Paul Lammertsma .
Réponse précédente
Avec ADT rev 17, l'émulateur prend en charge l'exécution d'images système x86 en mode virtualisation sous Windows et Mac OS X. Cela a un impact notable sur les performances.
Notes ADT rev 17: http://android-developers.blogspot.jp/2012/03/updated-sdk-tools-and-adt-revision-17.html
Configuration de l'accélération de la machine virtuelle: http://developer.android.com/guide/developing/devices/emulator.html#accel-vm
la source
Je suis récemment passé d'un cœur 2 @ 2,5 avec 3 Go de RAM à un i7 @ 1,73 avec 8 Go de RAM (les deux systèmes exécutaient Ubuntu 10.10) et l'émulateur fonctionne au moins deux fois plus vite maintenant. Jeter plus de matériel à cela aide certainement.
la source
Je voulais juste dire qu'après avoir installé l'accélérateur Intel HAXM et utilisé l'image Intel Atom, l'émulateur semble fonctionner 50 fois plus rapidement. La différence est incroyable, regardez-la!
http://www.developer.com/ws/android/development-tools/haxm-speeds-up-the-android-emulator.html
la source
J'ai remarqué que l'émulateur est par défaut uniquement le Core 0, où la plupart des applications Windows seront par défaut "n'importe" core. De plus, si vous le mettez sur un autre noyau (comme le dernier noyau), cela peut rendre l'émulateur fou. Si vous le pouvez, vous pouvez essayer de mettre vos applications d'utilisation intensive du processeur sur les autres cœurs de processeur pour augmenter la vitesse.
Côté matériel, obtenez le processeur le plus rapide que vous puissiez obtenir et qui fonctionne pour les applications monocœur. Plus de 2 cœurs peuvent ne pas connaître une énorme différence en termes de performances de l'émulateur.
Eclipse + l'émulateur Android consomme ensemble une tonne de RAM. Je recommanderais 3 Go de RAM au moins parce que j'ai utilisé un système avec 2 Go de RAM, et cela a ralenti parce que le système manquait de RAM et a commencé à utiliser le fichier d'échange.
Je pense que les meilleurs processeurs auront probablement une horloge élevée (utilisez uniquement l'horloge comme mesure pour les processeurs de la même série), gèrent bien les opérations non SIMD et disposent d'un mécanisme de turbo boost. Il n'y a pas beaucoup de benchmarks basés sur Java, mais recherchez globalement des benchmarks d'application comme la compression et le bureau. Ne regardez pas les jeux ou les médias car ceux-ci sont fortement affectés par SIMD. Si vous en trouvez un en Java, c'est encore mieux.
la source
Sur cette année, Google I / O (2011), Google a démontré un émulateur plus rapide. Le problème n'est pas tant sur le code d'octet entre ARM et x86 mais sur le rendu logiciel effectué par QEMU. Ils contournent le rendu de QEMU et envoient le rendu directement à un serveur X je crois. Ils ont montré un jeu de voiture avec de très bonnes performances et des fps.
Je me demande quand cela sera disponible pour les développeurs ...
la source
Google a récemment annoncé un nouvel émulateur pour Android. C'est beaucoup plus rapide et meilleur que l'ancien. Vous pouvez trouver plus d'informations à ce sujet ici .
la source
Je pense que c'est parce que la machine virtuelle clr utilise directement cpu sans traduction de code opcode. Il peut s'agir d'une optimisation pour l'application clr ou peut être Windows Mobile / Windows Phone 7 démarré sur le processeur INTEL. Plate-forme Android basée sur Linux et théoriquement, vous pouvez démarrer Android sur une machine virtuelle dans un environnement i686. Dans ce cas, les machines virtuelles telles que vmware pourraient exécuter certains opcodes directement. Mais cette option ne sera autorisée que si vous écrivez sur Java. Parce que Java interprète leur octet-code ou le précompile avant l'exécution. voir: http://www.taranfx.com/how-to-run-google-android-in-virtualbox-vmware-on-netbooks
la source
Merci @zest! A fonctionné comme un charme. Certaines choses à noter: Nécessité d'appliquer le correctif d'Intel pour le HAXM à traiter avec problème de panique du noyau: http://software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager Aussi, notez , si vous avez plusieurs abi, vous devez en désinstaller un en raison d'un bogue dans la dernière version de l'API Android (r19): https://code.google.com/p/android/issues/detail?id= 66740 (supprimez armeabi-v7a dans ce cas, car vous voulez le x86 abi). Outre les 45 minutes qu'il m'a fallu pour résoudre ces problèmes, ce fut un exercice très gratifiant en termes de performances accrues de l'émulateur.
la source
Vous pouvez également essayer l' émulateur Android de Visual Studio , qui peut également être installé en tant qu'émulateur autonome (vous n'avez pas besoin de Visual Studio). Veuillez noter qu'il ne peut être installé que sur Windows Pro ou des systèmes supérieurs.
la source
Utilisez Genymotion au lieu de l'émulateur. Genymotion a de meilleures performances https://www.genymotion.com
la source
choisissez un émulateur basse résolution (ex: Nexus S) si vous n'avez pas une bonne carte graphique (comme moi)
la source
J'utilise le processeur Intel (86) / ABI. J'ai créé un autre émulateur en utilisant l'ARM (armeabi-v7a) et j'ai trouvé pas mal d'amélioration avec la vitesse. J'utilise la plateforme 4.1.2 API niveau 16
la source
J'espère que cela t'aidera.
Goto to your BIOS settings. Enable your Virtualization technology in your settings..
Cela a résolu mon problème ...
la source
Mettez à jour votre Studio Android actuel vers Android Studio 2.0 Et mettez également à jour les images système.
L'émulateur Android Studio 2.0 s'exécute environ 3 fois plus rapidement que l'émulateur précédent d'Android, et avec les améliorations de l'ADB, vous pouvez désormais envoyer des applications et des données 10 fois plus rapidement vers l'émulateur que vers un appareil physique. Comme un appareil physique, l'émulateur Android officiel comprend également les services Google Play intégrés, vous pouvez donc tester plus de fonctionnalités API. Enfin, le nouvel émulateur dispose de nouvelles fonctionnalités riches pour gérer les appels, la batterie, le réseau, le GPS, etc.
la source