web-dev-qa-db-fra.com

L'émulateur Android utilise-t-il 100% du processeur, même si rien ne tourne?

J'ai un processeur celeron:/et l'émulateur Android sur Eclipse utilise 100% du processeur et bloque tout sauf si je le tue. J'essayais juste de profiter d'un programme Android d'un livre et je ne connaissais pas grand-chose d'Android, ni même d'Eclipse. J'ai installé Android-eclipseplugin.

Quelqu'un peut-il m'aider avec? Merci!

39
user882440

Comme d'autres l'ont dit, la solution est de désactiver le son. Malheureusement, dans les dernières versions d'Android Studio (j'utilise la version 1.4), l'option de désactivation du son a été supprimée de l'interface graphique. Pour désactiver le son, vous pouvez le faire en lançant l'émulateur à partir de la ligne de commande avec l'indicateur -noaudio ou en modifiant le fichier de configuration de l'AVD et en définissant les paramètres suivants:

hw.audioInput=no
hw.audioOutput=no

Sur Linux, j'ai trouvé ce fichier à ~/.Android/avd/myAVD.avd/config.ini

61
IanB

J'ai eu exactement le même problème et j'ai trouvé une solution qui me convient ... Dans la configuration de l'AVD, j'ai défini un indicateur supplémentaire "Prise en charge de la lecture audio" sur "Non" ... J'ai également assurez-vous que l’AVD dispose de 1 Go de RAM.

Cela a fonctionné pour moi.

41
Niels Basjes

La réponse de Niels a bien fonctionné pour moi https://stackoverflow.com/a/7706018 En ce que l'émulateur a cessé d'utiliser 100% de la CPU (elle est tombée à 10-15%) "effet secondaire" utile. J'ai remarqué que la lecture d'une vidéo dans Totem ou d'une musique dans RhythmBox se bloquait pendant le fonctionnement de l'émulateur. VLC lirait la vidéo mais refuserait de jouer la bande originale de la vidéo . Dès que l'émulateur serait tué, la musique commencerait à jouer ..__ La réponse de Niels de régler "Prise en charge de la lecture audio" sur "Non" l'empêche issue . J'utilise Ubuntu 11.04 et la version 13.0 de l'émulateur Android (build_id OPENMASTER-172639).

5
Irfan Butt

Pour moi, décocher la case Multi-Core CPU

 enter image description here

5
Kamen Dobrev

J'ai eu ce problème en exécutant l'émulateur sur Ubuntu 14.04. La désactivation de l'audio réduit l'utilisation du processeur, mais au cas où vous auriez besoin de l'audio, vous pouvez le réparer en ajoutant un lien symbolique:

Sudo ln -s /usr/lib/x86_64-linux-gnu/libpulse.so.0 /usr/lib/x86_64-linux-gnu/libpulse.so

La raison en est que l'émulateur essaie d'utiliser pulseaudio comme back-end, mais ne pourra pas se lier à libpulse.so, qui n'existe pas sous Ubuntu (à moins que vous n'ayez installé le paquet libpulse-dev). Ensuite, il retombera sur ALSA, qui appelle en permanence poll, ce qui entraîne une utilisation à 100% du processeur.

Un correctif pour l'émulateur arrive , mais pour l'instant, l'ajout du lien symbolique résout le problème.

1
weiyin

L'émulateur Android émule un processeur ARM sans accélération matérielle, ce qui peut être assez lent, même sur un core2duo par exemple.

Vous pouvez essayer de réduire la résolution d'écran du périphérique virtuel, ce qui devrait entraîner une légère augmentation des performances.

1
Julian

L'émulateur est notoirement lent à démarrer; cela peut prendre 15 minutes ou plus sur une machine sous-alimentée. Vous pouvez accélérer un peu le démarrage en transmettant le -no-boot-anim à la commande de démarrage de l'émulateur. D'autres options d'émulateur sont décrites ici . En outre, certains DAV fonctionnent plus rapidement que d’autres. Essayez de créer un DAV avec le SDK de niveau le plus bas qui vous soit utile.

Une fois que l'émulateur a démarré, vous n'avez pas besoin de l'éteindre. Lorsqu'une application se ferme (ou se bloque, ou autre), vous pouvez simplement l'exécuter à nouveau.

1
Ted Hopp

J'avais le même problème sur mon macOS High Sierra et, pour moi, m'aide à créer un nouveau périphérique AVD et à choisir CPU/ABI = x86_64 et non x86 dans la boîte de dialogue de la version Android. J'espère que cela pourra aider.

1
west44

Une alternative qui mérite d'être mentionnée est Genymotion. C'est un émulateur Android basé sur VirtualBox, avec des images pré-créées. Il prend en charge certaines fonctionnalités pour lesquelles l'émulateur Android d'origine n'est pas très performant, comme le Wifi 3G, le Bluetooth, le GPS (avec une intégration de Google Maps sophistiquée, pour que vous n'ayez pas à chercher les coordonnées manuellement), plusieurs écrans, etc.

Cela vaut la peine d'essayer à http://www.genymotion.com/

1
Bolhoso

Je recommande fortement de ne pas utiliser l'émulateur Android. Utilisez VirtualBox + Android x86 (vous pouvez le télécharger ici ), et vous obtiendrez une augmentation réelle des performances.

Malheureusement, autant que je m'en souvienne, ce n'est pas de google et il ne supporte que Android 2.2. Je ne comprends vraiment pas pourquoi Google ne rendra pas le simulateur aussi rapide que le simulateur iPhone ou la version officielle x86 pour le débogage. Je n'ai pas besoin d'émuler les instructions de processeur ARM et je pense que 99% des développeurs n'en ont pas besoin aussi.

0
Andrei Buneyeu