Faire de l'émulateur Android de courir plus vite
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 le dispositif de l'émulateur. C'est un problème lors du test des jeux et des effets visuels.
Comment faire pour que l'émulateur courir aussi vite que possible? J'ai joué avec ses paramètres mais je n'ai pas trouvé une configuration qui montre une amélioration notable encore.
- toutes mes applications de s'exécuter plus rapidement sur l'appareil
- C'est drôle parce que le simulateur d'iPhone est exactement le contraire. Les applications de s'exécuter plus lentement sur l'appareil. Dans la plupart des cas, je préfère un ralentissement de l'émulateur, car il vous stimule pour améliorer votre application, mais parfois vous voulez juste pour voir comment il fonctionne comme il le fait dans un périphérique réel.
- Il est possible de le faire fonctionner BEAUCOUP plus rapidement aka normalement en utilisant VirtualBox - voir stackoverflow.com/a/6058689/40961
- Double Possible de Lent émulateur Android.
- consultez ce guide d'INTEL pour configurer les émulateurs à l'aide d'intel haxm software.intel.com/en-us/articles/...
- software.intel.com/en-us/articles/...
- iOS et Windows Mobile à l'aide des Simulateurs, alors qu'Android utilise des Émulateurs. Les simulateurs de re-mettre en œuvre toutes les bibliothèques mobiles et les Api à l'aide d'hôte bibliothèques, et sont donc rapides. Les émulateurs utiliser les mêmes bibliothèques que sur les dispositifs réels, il est donc plus lent. En termes d'Android, si vous utilisez un appareil Android de la machine virtuelle, ce sera très rapide. Nous fournissons gratuitement un vm ici: leapdroid.com
- Qui peut être un défaut de justification. À tout le moins, les goulets d'étranglement au sein de l'émulateur sont susceptibles d'être distribuées différemment que les goulets d'étranglement sur un périphérique réel, et les optimisations d'améliorer les performances sur un peut n'avoir aucun effet (ou même, un effet néfaste) sur l'autre. Je veux juste l'émulateur comme un moyen de vérifier rapidement que j'ai mon look/sentir/flux correcte, et que l'application ne permet pas de crash et brûler quand j'invoque <Nouvelle Fonctionnalité X>. Essais de Performance et d'optimisation est quelque chose que je vais toujours le faire à l'aide d'un périphérique réel.
- ...et comment fou c'est que 6 ans plus tard, et même avec HAXM et le système x86 image et un bien-specced environnement de dev l'émulateur Android est encore lent que la mélasse?
- activer le démarrage rapide pour faire de l'émulateur rapide check stackoverflow.com/a/48031415/2826147
Vous devez vous connecter pour publier un commentaire.
La page web officiel
~50% plus rapide
Windows:
Aller à l'Android SDK dossier racine et accédez extras\intel\Hardware_Accelerated_Execution_Manager. Exécuter le fichier IntelHaxm.exe pour installer. (dans Android Studio, vous pouvez naviguer vers: Paramètres -> Android SDK -> SDK Outils -> Intel x86 Émulateur Accélérateur (HAXM installateur))
Créer AVD avec un processeur Intel atom x86" CPU/ABI
Aussi n'oubliez pas d'installer ce un
P. S. au cours de l'AVD de création d'ajouter d'émulation de mémoire: Matériel/New/Appareil de la taille de la ram de réglage de la valeur de 512 ou plus
Linux:
P. S. Pour Fedora, pour Ubuntu
OS-X:
P. S: Case à cet outil, très pratique, même essai
/extras/intel/Hardware_Accelerated_Execution_Manager/IntelHAXM.dmg
après avoir téléchargé le package à partir du SDK manager.^(?!.*(nativeGetEnabledTags)).*$
que le filtre de texte. J'ai signalé cela comme un question bug. Aussi, je pense que vous devez éteindre votre émulateur appareil (maintenez le bouton d'alimentation, puis sélectionnez arrêt) pour éviter d'avoir des erreurs lorsque vous commencez la prochaine fois (je pouvait fermer le BRAS de l'émulateur, mais avec le processeur Intel émulateur, juste de fermeture semble créer des problèmes).Mise à JOUR: Maintenant que d'un processeur Intel x86 l'image est disponible, la meilleure réponse est de zeste au-dessus.
Comme CommonsWare a souligné à juste titre, l'émulateur est lent, car il émule un CPU ARM, ce qui nécessite la traduction de Intel opcodes. Cette virtualisation mordille la CPU.
Pour faire de l'émulateur plus rapide, vous devez lui donner plus de CPU. Démarrer avec une vitesse de PROCESSEUR ou de la mise à niveau si vous le pouvez.
Ensuite, donner l'émulateur plus de CPU que vous avez:
Je vois quelque part autour d'une amélioration de 50% de avec ces deux changements en place.
Pour définir l'affinité du processeur Windows 7:
Remarque: Lorsque vous modifiez l'affinité de cette façon, c'est seulement changé pour la durée de vie du processus. Prochain démarrage, vous devez le faire à nouveau.
Je voudrais vous suggérer de donner Genymotion un tour. Il fonctionne dans Oracle VirtualBox, et légitimement frapper 60 fps sur un modéré du système.
Voici un screencap de l'un de mes ateliers, en cours d'exécution sur un bas de gamme 2012 modèle de MacBook Air:
Si vous ne pouvez pas lire le texte, c'est une Nexus 7 émulateur de course à 56.6 fps. Les autres (en gros!) en prime, Google Play et Google Play Services fournis avec les machines virtuelles.
(La source de l'démontré animation peuvent être trouvés ici.)
Permettre l'Accélération Matérielle GPU (en plus d'Intel HAXM), si vous utilisez l'API de 15 v3 ou plus récent et le SDK Outils v17+. L'accélération graphique pour l'émulateur de prendre avantage de votre ordinateur de développement de matériel graphique, en particulier de son unité de traitement graphique (GPU), pour rendre l'écran plus rapide. Cela donne une hausse 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 au moment de l'exécution: utiliser le gpu drapeau lors du démarrage de l'émulateur comme ceci:
Source: Google à l'Aide de l'Émulateur tutoriel.
Modifier Bien que l'utilisation de l'Intel images obtient des gains de performance, le rendement obtenu par l'utilisation de Genymotion est beaucoup plus grande. Voir Paul Lammertsma réponse.
Réponse Précédente
Avec ADT rev 17 l'émulateur prend en charge l'exécution x86 de système d'images en mode de virtualisation sous Windows et Mac OS X. Cela a un impact notable sur la performance.
ADT rev 17 notes:
http://android-developers.blogspot.jp/2012/03/updated-sdk-tools-and-adt-revision-17.html
La Configuration De La Machine Virtuelle De L'Accélération:
http://developer.android.com/guide/developing/devices/emulator.html#accel-vm
J'ai récemment passé d'un core 2 @ 2.5 avec 3 go de ram pour un i7 @ 1.73 avec 8go de ram (les deux systèmes couru Ubuntu 10.10) et l'émulateur fonctionne au moins deux fois plus vite maintenant. Lancer plus de matériel, il n'est certainement de l'aide.
Voulais juste dire qu'après j'ai installé le Intel HAXM accélérateur et l'utilisation du processeur Intel Atom image de l'émulateur semble fonctionner à 50 fois plus rapide. La différence est incroyable, check it out!
http://www.developer.com/ws/android/development-tools/haxm-speeds-up-the-android-emulator.html
J'ai remarqué que l'émulateur par défaut de Base seulement 0, où la plupart des applications Windows par défaut est "tout" de base. Aussi, si vous le mettez sur un autre noyau (comme le dernier core), il peut faire l'émulateur est en délire. Si vous le pouvez, vous pouvez essayer de mettre votre lourd de l'utilisation du PROCESSEUR d'applications sur les autres cœurs de PROCESSEUR pour un coup de pouce de la vitesse.
Matériel-sage, obtenir le CPU le plus rapide, vous pouvez obtenir qui fonctionne pour un seul applications de base. Plus de 2 cœurs pourraient ne pas éprouver une énorme différence en termes de l'émulateur de la performance.
Eclipse + l'émulateur Android, ensemble, de manger une tonne de RAM. Je voudrais vous recommandons de 3 go de RAM au moins parce que j'ai utilisé un système avec 2 gigas de RAM, et il ralenti parce que le système a de la mémoire vive et a commencé à utiliser le fichier de la page.
J'ai l'impression que le meilleur Cpu pour il aura probablement une grande horloge (uniquement utiliser l'horloge comme une mesure pour les Processeurs de la même série d'ailleurs), poignée non-SIMD opérations ainsi, et avoir un turbo boost mécanisme. Il n'y a pas beaucoup de Java à base de points de référence, mais l'aspect général pour l'application des repères comme la compression et le bureau. Ne regardez pas à des jeux ou des médias, car ceux-ci sont affectés considérablement par SIMD. Si vous trouvez un code Java, et même mieux.
Cette année, google I/O (2011), Google a démontré une plus rapide de l'émulateur. Le problème n'est pas tellement sur l'octet de code entre ARM et x86, mais le logiciel de rendu réalisé par QEMU. Ils contournent le rendu de QEMU et envoyer le rendu directement à un serveur X je crois. Ils ont montré un jeu de voiture avec de très bonne performance et fps.
Je me demande quand ce sera disponible pour les développeurs...
Google a récemment annoncé un nouvel émulateur pour Android. C'est une beaucoup plus vite et beaucoup mieux que l'ancienne. Vous pouvez trouver plus d'informations à ce sujet ici.
Je pense que c'est parce que la clr de la machine virtuelle utilise cpu directement sans code opcode de traduction.
Il peut être d'optimisation pour le clr application ou peut-être windows mobile/window phone 7 a commencé sur INTEL proccessor.
La plate-forme Android basé sur linux et, théoriquement, vous pouvez commencer à android sur une machine virtuelle en i686 de l'environnement. Dans ce cas, ordinateurs virtuels tels que vmware pourrait exécuter certains opcodes directement. Mais cette option ne sera admis que si vous écrivez sur le Java. Parce que le Java interpréter leur byte-code ou précompiler avant l'exécution.
voir:
http://www.taranfx.com/how-to-run-google-android-in-virtualbox-vmware-on-netbooks
Merci @zeste! A travaillé comme un charme. Quelques choses à noter: la Nécessité d'appliquer d'Intel correctif pour le HAXM pour faire face à la panique de noyau question: http://software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager
Aussi, remarque, si vous avez plus d'un abi, vous devez désinstaller un en raison d'un bug dans la dernière version de l'API Android (r19): https://code.google.com/p/android/issues/detail?id=66740 (supprimer armeabi-v7a dans ce cas, puisque vous voulez le x86 abi). Autres que les 45 minutes, il m'a fallu pour le résoudre, il a été un très enrichissante de l'exercice en termes de l'augmentation des performances de l'émulateur.
Vous pouvez également essayer les Visual Studio Émulateur Android, qui peut également être installé comme une application autonome de l'émulateur (vous n'avez pas besoin de Visual Studio). Veuillez noter qu'il peut être installé uniquement sur Windows Pro ou supérieur systèmes.
Utilisation Genymotion au lieu de l'émulateur. Genymotion a de meilleures performances
https://www.genymotion.com
choisir une faible résolution de l'émulateur (par exemple: Nexus S) si vous n'avez pas une bonne carte graphique (comme moi)
J'ai été en utilisant le processeur Intel(86) CPU/ABI. J'ai créé un autre émulateur en utilisant le BRAS(armeabi-v7a) et je l'ai trouvé tout à fait une amélioration de la vitesse. Je suis à l'aide de la plateforme 4.1.2 niveau API 16
Une alternative à l'émulateur est le AndroVM de la machine virtuelle qui s'exécute beaucoup plus rapidement que l'émulateur et supporte l'accélération OpenGL:
http://androvm.org/
Pour l'anecdote, je pense qu'il s'exécute plus rapidement que les appareils Android.
J'espère que cela va vous aider.
Goto to your BIOS settings. Enable your Virtualization technology in your settings..
Il a résolu mon problème...
Mise à jour de votre actuelle d'Android Studio pour Android Studio 2.0 Et également le système de mise à jour des images.
Android Studio 2.0 émulateur fonctionne ~3x plus rapide que Android précédents de l'émulateur, et avec la BAD améliorations que vous pouvez maintenant pousser des applications et des données 10 fois plus rapide à l'émulateur qu'à un périphérique physique. Comme un périphérique physique, l'officiel de l'émulateur Android comprend également les Google Play Services intégrés, de sorte que vous pouvez tester plus des fonctionnalités de l'API. Enfin, le nouvel émulateur a enrichi de nouvelles fonctionnalités pour gérer les appels, la batterie, le réseau, GPS et plus encore.