web-dev-qa-db-ja.com

Androidエミュレータは、何も実行していない場合でも100%のCPUを使用しますか?

私はceleronプロセッサを持っています:/とAndroidエミュレーターは100%のCPUを使用し、私がそれを殺さない限りすべてをハングさせます。私はただhello Android本からプログラムを作成し、Android=またはEclipseについても詳しく知りません。Android-eclipsepluginをインストールしました。

誰かが私を助けてくれますか?

41
user882440

他の人が言ったように、解決策は音を無効にすることです。残念ながら、最近のAndroid Studioリリース(1.4を使用しています)では、サウンドを無効にするオプションがGUIから削除されています。サウンドを無効にするには、コマンドからエミュレータを起動する-noaudioフラグを含む行、またはAVDの構成ファイルを編集して次のパラメーターを設定します。

hw.audioInput=no
hw.audioOutput=no

Linuxでは、そのファイルを~/.Android/avd/myAVD.avd/config.iniで見つけました

66
IanB

私はまったく同じ問題を抱えており、私のために働く解決策を見つけました。 AVDの設定で、「オーディオ再生サポート」という追加のフラグを「いいえ」に設定しました。また、AVDに1GBのRAMがあることを確認しました。

これでうまくいきました。

42
Niels Basjes

私にとっては、Multi-Core CPUチェックボックスをオフにしていました

enter image description here

6
Kamen Dobrev

Nielsの答えは私にとってうまくいきました https://stackoverflow.com/a/7706018 エミュレーターが100%のCPUの使用を停止した(10-15%に低下)さらに、もう1つの便利な「側面効果"。トーテムでビデオを再生したり、RhythmBoxで音楽を再生したりすると、エミュレーターの実行中にブロックされることに気付きました。 VLCはビデオを再生しますが、ビデオに付随するサウンドトラックの再生を拒否します。エミュレーターが終了するとすぐに、音楽の再生が始まります。 Nielsが「オーディオ再生サポート」を「いいえ」に設定すると、この問題は回避されます。 Ubuntu 11.04とAndroidエミュレータバージョン13.0(build_id OPENMASTER-172639))を実行しています。

5
Irfan Butt

Ubuntu 14.04でエミュレータを実行すると、この問題が発生しました。オーディオを無効にするとCPU使用率が低下しますが、オーディオを機能させる必要がある場合は、シンボリックリンクを追加することで修正できます。

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

これは、エミュレータがバックエンドとしてPulseAudioを使用しようとするものの、Ubuntuに存在しないlibpulse.soにリンクできないためです(libpulse-devパッケージをインストールしていない場合)。その後、常にポーリングを呼び出すALSAにフォールバックし、CPU使用率が100%になります。

A エミュレータの修正が近づいています ですが、今のところ、シンボリックリンクを追加すると問題が解決します。

1
weiyin

AndroidエミュレータはARM CPUをハードウェアアクセラレーションなしでエミュレートしています。たとえば、core2duoでもかなり遅くなる可能性があります。

仮想デバイスの画面解像度を下げると、パフォーマンスがわずかに向上する可能性があります。

1
Julian

エミュレータの起動が遅いことで有名です。パワー不足のマシンでは15分以上かかることがあります。 -no-boot-animをエミュレータの起動コマンドに渡すと、起動を少し高速化できます。その他のエミュレータオプションについて説明します ここ 。また、一部のAVDは他のAVDよりも速く起動します。あなたにとって便利な最低レベルのSDKでAVDを作成してみてください。

エミュレータが起動したら、シャットダウンする必要はありません。アプリが終了したとき(またはクラッシュしたときなど)、もう一度実行することができます。

1
Ted Hopp

私のmacOS High Sierraでも同じ問題があり、新しいAVDデバイスを作成し、Androidバージョンダイアログでx86ではなく、CPU/ABI = x86_64を選択するのに役立ちます。それが役に立てば幸いです。

1
west44

言及する価値がある1つの代替案はGenymotionです。これは、Androidエミュレータであり、事前に作成された画像を備えています。これは、ストックAndroidエミュレータはWifi 3Gのようにあまり得意ではない機能をサポートしています、Bluetooth、GPS(Googleマップの高度な統合により、手動で座標を見つける必要がない)、複数の画面など.

試してみる価値はあります http://www.genymotion.com/

1
Bolhoso

Android emulator。Use VirtualBox + Android x86 OS(あなたはそれをダウンロードすることができます here )、そして実際のパフォーマンスが向上します。

残念ながら、私が覚えている限り、それはGoogleからではなく、Android 2.2。デバッグ用に公式のx86リリースを作成するには、ARMプロセッサ命令をエミュレートする必要はなく、99%の開発者もそれを必要としないと思います。

0
Andrei Buneyeu