Androidスタジオはメモリを大量に消費します


175

Android Studio 1.0 RC 2をインストールしました。4GBのRAMをインストールしましたが、Android Studioを起動してAndroid Emulatorを起動した後、物理メモリの90%以上がこれら2つだけで使用されています。このメモリ使用量を減らす方法はありますか?このメモリの問題により、他のアプリケーションを同時に開くことができません。 ここに画像の説明を入力してください


17
4GBのWindows開発マシンでEclipseまたはAndroid Studioとエミュレーターを使用するのは非常に困難です。開発マシンのRAM(8GB以上)をアップグレードするか、エミュレーターではなくデバイスでテストするか、またはIDEをスキップして、プレーンエディターとコマンドラインツールを使用して開発を行うことを強くお勧めします。
CommonsWare 2014年

2
あなたが投稿したスクリーンショットから判断すると、Windowsを使用していると思います。しかし、どのバージョンのWindowsですか?また、Android Studioはまだ初期段階なので、多くの問題が発生します。Gradleサポートが必要ない場合は、いつでもEclipseを試すことができます。IDEは何年にもわたって試行錯誤されてきたため、開発環境にとっては非常に堅実です-RAM的には賢明です。
ChuongPham 2014年

1
@CommonsWare同じことがLinux PCにも当てはまるかご存知ですか?前もって感謝します。
Alexander Kulyakhtin 2014年

4
@PPD:Windowsでは、管理ツールから不要なサービスをオフにします。サービスオプション。[ スタートアップ ]タブに移動しmsconfig、不要なアプリケーションをオフにします。Windowsで不要な視覚効果をオフにします。Androidエミュレーターを実行するときは、特に強力なグラフィックカードを使用している場合は、[ ホストGPU使用する ]オプションをオンにします。私はWindows 7開発PCを使用していて、一度に2〜2.5 GBのRAMしか使用しません。これには、Windows 7、Eclipse、Mozilla Firefox(アドオンなし)、前述のWindowsカスタマイズ手順が含まれます。私もFedoraを使用しており、Windowsよりもメモリの使用量が少ないです。
ChuongPham 2014年

3
単なる観察:Google Chromeのタブがいくつか開いていることがわかります。あなたは可能性がある、それはブラウザのタブごとにプロセスを使用していないので、Firefoxが少し少ないRAMを使用していることを見つけます。
Sam

回答:


224

現在、6 GBのRAMを搭載したWindows 8.1マシンでAndroid Studioを実行しています。

Android StudioでVCSを無効にし、VCSを処理するために外部プログラムを使用すると、非常に役立つことがわかりました。あなたは、に行くことによってVCSを無効にすることができ、ファイル > - [設定] - > [ プラグインし、次のように無効にします。

  • CVS統合
  • Git統合
  • GitHub
  • Google Cloud Testing
  • Google Cloud Tools Core
  • Android Studio用のGoogle Cloud Tools
  • HG4IDEA
  • Subversionの統合
  • Mercurialの統合
  • TestNG-J

18
いや、非常に小さな変化。
krivar

5
プロジェクトがsvnやgithubなどのリポジトリで構成されている場合の大きな違い。実行待ち時間が3分以上から1分未満に短縮されました。素晴らしい助けをありがとう。
えー カウシクカジャダラ

4
「Gitインテグレーション」をオンにしたままでも、これは機能し、大きな違いをもたらします。理想的には、Android Studioはこれらをデフォルト設定として持つべきです。
Mr-IDE

3
この方法は、4GBのRAMとAMD X4 CPUを備えたHP 6005ミニケースに使用しました。これらのプラグインをすべて無効にした後、Androidスタジオが非常に高速に開いたとは思えません。Android Studioを起動する前に15秒かかりますが、今では1秒で表示されます。感謝
AN

2
Mercurial Integration、TestNG-Jも無効にします。
xiaoweiz

108

私の場合、メモリを消費する2つの主な原因がありました。IDEとGradleです。

Android Studio(最大1.5GB)

IDEのJVMは最大ヒープサイズを持つように構成されています。これは、メインインターフェイスの右下隅にあります。

Android Studioに最大ヒープサイズ725Mが表示される

あなたは編集することによって、これを減らすことができ、メモリ関連の設定ファイルを。たとえば、最大ヒープサイズを512MBに変更しました。.vmoptions

-Xmx512m

残念ながら、この値を下げると、おそらくガベージコレクションを行うために、Android Studioが一時的にフリーズする頻度が高くなることがわかりました。

Gradle(最大1.5 GB)

Gradleは、しばらく開発した後でも多くのRAMを使用できます。Windowsは次のように表示しますJava(TM) Platform SE Binary

Windows 8.1タスクマネージャーで、Java(TM Platform SEバイナリ)が1,460.5 MBのメモリを使用して表示される

この問題は、Gradle JVMオプションを変更することで修正できます。これを編集することにより、ユーザーごとにこれを行うことができますgradle.properties

  1. を開く gradle.propertiesファイルを存在しない場合は作成します。
    • ウィンドウズ: %USERPROFILE%\.gradle\gradle.properties
    • Linux / Mac: ~/.gradle/gradle.properties
  2. org.gradle.jvmargsプロパティを更新し、必要に応じて作成します。私はこれに設定しました:

    org.gradle.jvmargs=-Xmx256m -XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
    

最大ヒープサイズを256MBに設定した小さなプロジェクトのビルドパフォーマンスの違いに気づきませんでした(-Xmx256m)。

あなたはので、Androidのメーカーを再起動する必要があることに注意してください古いです Gradleプロセスが強制終了される。そうしないと、両方が同時に実行される可能性があります。

エミュレータ

エミュレータが多くのRAMを占有している場合、スクリーンショットでは約800MBを使用しています。エミュレータに割り当てるRAMの量を選択できます。

  1. AVDを編集する
  2. 押す 詳細設定の表示を
  3. RAMの価値を減らす

Android仮想デバイスRAM構成


これとSoJexyの回答を組み合わせると、コンピューターのパフォーマンスが劇的に向上しました。
Josh Larson

これらのヒントは命の恩人でした!メモリ使用量をさらに削減するdexコンパイラが使用するヒープサイズを変更するオプションもあります。詳細:techzog.com/development/android-studio-high-ram-usage
Varun

1
.vmoptionsファイルそれは言う:*DO NOT* modify this file directly. If there is a value that you would like t$ please add it to your user specific configuration file. See http://tools.android.com/tech-docs/configurationそこに私のシステム上のユーザの特定のファイルではないようですし、ウェブサイトは、Aファイルの他の場所を説明していないので、私はこのソリューションで行きますよ。ああ、MaxPermSizeはいつか廃止される予定です。ターミナルでIDEを起動すると、常に警告が表示されます。
Zelphir Kaltstahl、2015年

1
@Zelphir、どのOSとAndroid Studioのバージョンを使用していますか?私はWindowsを使用しており、指示にはファイルがの下%USERPROFILE%にあると記載されています。これはユーザー固有です。私はLinuxはあまり得意ではありませんが、MacとLinuxの説明では、ファイルがの下~にあるとも言われています。これは、ユーザーのホームディレクトリでしょうか。ファイルが存在しない場合は、単に作成できます。上で参照されたドキュメントは言うInstead, you can customize the attributes by creating your own .properties or .vmoptions files in the following directories.。動作するかどうか教えてください。答えを更新できますか?
サム

3
素晴らしい提案!Gradleの場合は、を編集して「ユーザー全体」の方法で問題を解決しました~/.gradle/gradle.properties
Andrea Lazzarotto

51

あなたはあなたのEclipseまたはAndroid Studioの作業をスピードアップできます、あなたはこれらに従うだけです:

  • 一度に1つのプロジェクトを使用/開く
  • 毎回エミュレータでアプリを実行した後、プロジェクトをクリーンアップします
  • エミュレーターの代わりにモバイル/外部デバイスを使用する
  • 一度使用した後はエミュレータを閉じず、毎回同じエミュレータを使用してアプリを実行する
  • [ファイル]-> [設定]-> [プラグイン]を使用してVCSを無効にし、次のものを無効にします
    。1.CVS統合
    2.Git統合
    3.GitHub
    4.Android Studio用のGoogle Cloud Tools
    5.Subversion統合

また、4 GBのメインメモリがインストールされたAndroid Studioを使用していますが、これらのステートメントに従うと、Android Studioのパフォーマンスが本当に向上します。


1
リストのすべてのものを無効にしました。それでも1.5gbのRAMを使用しています
Arshad

@ arshadkazmi42お使いのPCの構成を教えてください
KulArtist '

i3、4 GB RAM、500 GB HDD
Arshad

13
これは「i3」がソフトウェアの職人技の失敗の原因であると言うのはまったくナンセンスだと思います!
XMight 2016年

1
私のi3プロセッサーが> i3に挑戦したいのですが、この挑戦​​を受け入れますか?i3が低速または高メモリの原因であると言う人は誰もいない...
Sabir Hossain 2017年

28

Android Studioは最近、低メモリマシンの公式ガイドを公開しました:ガイド

推奨仕様(システム要件を参照)未満のマシンでAndroid Studioを実行している場合は、次のようにIDEをカスタマイズしてマシンのパフォーマンスを改善できます。

  • Android Studioで使用できる最大ヒープサイズを減らす:Android Studioの最大ヒープサイズを512Mbに減らします。

  • GradleとAndroidプラグインのGradleを更新する:Gradleの最新バージョンとAndroidプラグインをGradleに更新して、パフォーマンスの最新の改善を確実に活用できるようにします。

  • 省電力モードを有効にする省電力モードを有効にすると、エラーの強調表示やその場での検査、自動ポップアップコードの完了、自動インクリメンタルバックグラウンドコンパイルなど、メモリとバッテリーを集中的に使用する多くのバックグラウンド操作がオフになります。省電力モードをオンにするには、[ファイル]> [省電力モード]をクリックします。

  • 不要なlintチェックを無効にする:コードでAndroid Studioが実行するlintチェックを変更するには、次の手順に従います。[ファイル]> [設定](Macの場合、[Android Studio]> [設定])をクリックして[設定]ダイアログを開きます。左側のペインで[エディター]セクションを展開します検査をクリックします。チェックボックスをクリックして、プロジェクトに応じてlintチェックを選択または選択解除します。[適用]または[OK]をクリックして変更を保存します。

  • 物理デバイスでのデバッグ:エミュレータでのデバッグは、物理デバイスでのデバッグよりも多くのメモリを使用するため、物理デバイスでデバッグすることで、Android Studioの全体的なパフォーマンスを向上させることができます。

  • 必要なGoogle Play開発者サービスのみを依存関係として含める:プロジェクトに依存関係としてGoogle Playサービスを含めると、必要なメモリの量が増加します。メモリの使用とパフォーマンスを向上させるために必要な依存関係のみを含めます。詳細については、プロジェクトにGoogle Play開発者サービスを追加するをご覧ください。

  • DEXファイルのコンパイルに使用できる最大ヒープサイズを小さくします。DEXファイルのコンパイル用のjavaMaxHeapSizeを200mに設定します。詳細については、「DEXリソースを構成してビルド時間改善する」を参照してください。

  • 並列コンパイルを有効にしないでください。AndroidStudioは独立したモジュールを並列でコンパイルできますが、メモリが少ないシステムの場合は、この機能をオンにしないでください。この設定を確認するには、次の手順を実行します。[ファイル]> [設定](Macの場合、[Android Studio]> [設定])をクリックして、[設定]ダイアログを開きます。左側のペインで、[ビルド、実行、配置]を展開し、[コンパイラ]をクリックします。[独立したモジュールを並列でコンパイルする]オプションがオフになっていることを確認します。変更を加えた場合は、[適用]または[OK]をクリックして変更を有効にします。

  • Gradleのオフラインモードをオンにする:Bandwitchが限られている場合は、オフラインモードをオンにして、ビルド中に欠落している依存関係をGradleがダウンロードしないようにします。オフラインモードがオンの場合、Gradleは、依存関係がない場合、ダウンロードを試みるのではなく、ビルドエラーを発行します。オフラインモードをオンにするには、次の手順に従います。

    • [ファイル]> [設定](Macの場合、Android Studio> [設定])をクリックして、[設定]ダイアログを開きます。

    • 左側のペインで、[ビルド、実行、デプロイメント]を展開し、[Gradle]をクリックします。

    • グローバルGradle設定で、[オフライン作業]チェックボックスをオンにします。

    • 変更を有効にするには、[適用]または[OK]をクリックします。


16

上記のSamの推奨事項をすべて使用しましたが、VMコマンドラインオプションは説明のとおりサポートされなくなっています。(使用するとエラーが発生しました)

別の方法として、「gradle.properties」ファイルに次の行を追加することで、gradleを劇的に減らすことができました

org.gradle.jvmargs=-Xms512m -Xmx1024m

AS ver 1.3以降、ファイルは「gradle.build」と同じフォルダーレベルにあります。

上記の構成は、512 MBの「メモリスタック」と1024 MBの「メモリヒープ」です。

両方のメモリサイズを256 MBに設定した設定を使用して、小規模なプロジェクトでこれをテストしました。予想通り、JVMのサイズが制限されていました。すべてのテストで、ASを再起動してJVMを強制的に再起動しました。

うまくいけば、これにより、この問題に対処している他の人が「Get your better a computer」応答を受け取るのを防ぐことができます。:-)

ディルバー


ありがとう。これはAS 1.3で私のために働きました!AS 1.3で他の方法を見つけることができなかったので、この方法をカバーするように私の回答の説明を更新しました。
Sam

2

私はAndroid Studio 2.1.1 Broを使用しています。genymotionエミュレーターを使用すると、Android Marshmallowを使用するとより高速になります。そして、私のRamは4GBです。AndroidStudioでGenymotionのプラグインをインストールします。AndroidEmualtorを開始するのに時間を浪費する代わりに、10分から20秒の速度で5分かかります。genymotionを使用することをお勧めします。


3
無料のように。
Ojonugwa Jude Ochalifu 2016年

Genymotionはパフォーマンスが速くありません。エミュレータは、ですが、そうです、ARMよりも速く起動し、IntelX86およびX64 Android Studioエミュレータよりも非常に高速です。
Mahdi-Malv 2017

2

ラグを減らすには、次の手順をお勧めします

私のPC仕様:2 GB RAM、プロセッサ:Intel Core2 Duo

最初にすべてのバックグラウンドプロセスを強制終了します。サーバーまたはデータベースを実行している場合は、次のコマンドで最初に停止できます。

sudoサービスapache2停止

sudoサービスmysql停止

次に、ファイル>省電力モードでAndroid Studioの省電力モードを有効にします

バックグラウンドプロセスが無効になる可能性があり、スタジオは正常に動作しているように見えます


なぜ有効にする必要があるのか​​理解できないPower Save Mode
モロゾフ2017

モロゾフ、省電力モードを有効にすると、Androidスタジオのバックグラウンドアクティビティが強制終了されるため、パフォーマンスが向上します
Naveen

はい、省電力モードでこれらのプロセスを停止します
Naveen

2

低構成マシンでAndroid環境を実行する。

  1. ブラウザで不要なWebタブを閉じます
  2. ウイルス対策ユーザーの場合、自動生成されるビルドフォルダーを除外します
  3. Androidスタジオには1.2 Gbのデフォルトヒープがあり、512 MBに減少します。

ヘルプ>カスタムVMオプションの編集

studio.vmoptions
 -Xmx512m

レイアウトのパフォーマンスがスピードアップします

  1. Android Studio Mkaeのコアコンポーネントの1つであるGradleの場合、現在のように3.0betaが最新のものです

以下のヒントはコードの品質に影響を与える可能性があるため、注意して使用してください。

  1. Studioに電源を入れると、セーフモードが有効になり、lintやコード補完などのバックグラウンド操作が閉じます。

  2. 必要なときに手動でリントチェックを実行できます ./gradlew lint

  3. ほとんどがAndroidエミュレーターを使用しており、平均して2 GBのRAMを消費するため、可能であれば実際のAndroidデバイスを使用すると、コンピューターのリソース負荷が軽減されます。または、エミュレータのRAMを減らすことができます。これにより、コンピュータの仮想メモリの消費量が自動的に減少します。これは、仮想デバイスの構成と事前設定で確認できます。

  4. Gradleオフラインモードは、帯域幅が制限されているユーザーがビルドの依存関係のダウンロードを無効にする機能です。Android Studioのパフォーマンス向上に役立つバックグラウンド操作を削減します。

  5. Android Studioは、複数のモジュールを並行してコンパイルするための最適化を提供します。低RAMマシンでは、この機能はパフォーマンスに悪影響を及ぼす可能性があります。コンパイラ設定ダイアログで無効にできます


「studio.vmoptions -Xmx512m」でAndroidスタジオが殺されました。「JVMの作成に失敗しました:エラーコード-1」を開かなくなります。この変更を元に戻すにはどうすればよいですか?
MeatPopsicle

1
他の誰かが同じ罠に陥った場合。C:\ Users \ <username> \。AndroidStudio <version> \ configに移動して.vmoptionsファイルを探すことで、問題を修正できます。追加した構成と一致する場合は、削除しても安全です
MeatPopsicle


1

JVMをEclipseに切り替えてみてください。使用するメモリはかなり少なくなります。私はそれを交換し、常に600Mbを使用しています。


1

それがInvalidate Cache and Restart解決策かどうかはわかりませんが、私の場合はこの問題を解決しました。現在Android Studio 3.6を使用しています


0

システムのメンションパスの下を開き、すべてのavd(仮想デバイス:エミュレーター)を削除します

C:\ Users {Username} .android \ avd

注:-android studioからのみエミュレータを削除しても、avdによって取得されたすべてのスペースは削除されません。したがって、必要に応じて、上記のパスからすべてのAVを削除してから、新しいエミュレータを作成します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.