Android StudioやAppCodeの割り当てメモリを変更する

このサイトの管理者の本業はソフトウェア開発です。その中でもMacやiOSアプリの開発が専門です。仕事でソフトウェア開発を行う方以外の方でも、プログラミングを学習する方が増えてきているように思われます。

皆さんはどんな開発環境、IDEを使っていますか?

iOSアプリであればXcode、AndroidアプリであればAndroid Studio、Windowsで使用するアプリであればVisual Studioという方が多いと思います。

私はXcodeの他にAppCodeというIDEを日常的に使っています。

AppCodeはIntelliJ IDEAというIDEがベースになっているIDEでMacアプリやiOSアプリの開発に使われます。Android StudioもIntelliJ IDEAをベースにしています。AppCodeとAndroid Studioは兄弟のようなものです。

目次

IDEの割り当てメモリを変更する

AppCodeやAndroid StudioなどのIntelliJ IDEAベースのエディタは同じ方法で割り当てメモリを変更できます。

大きなアプリを作っているとエディタの動作がもっさりとしていて遅いなぁと感じることがあります。そのようなときは割り当てメモリを増やしておくと改善されます。

割り当てメモリを変更するには次のようにします。ここではAndroid Studioを例にしますが、他のIntelliJ IDEAをベースにしたIDEでは同じ方法です。

[1] 大きめのプロジェクトを開く。自分が作業する中で最も大きいものなどを開きます。

[2] 大きめのソースファイルを開き、ビルドなどを行います。

[3] 「Help」メニューから「Change Memory Settings」を選択します。割り当てメモリ編集ダイアログが表示されます。

Android Studioの割り当てメモリ編集ダイアログ
Android Studioの割り当てメモリ編集ダイアログ

[4] 「Maximum Heap Size」に割り当てる最大メモリサイズを入力します。

[5] 「Save and Restart」ボタンをクリックします。

Maximum Heap Sizeには何MBを指定するか

割り当てメモリをいくつにすれば良いかはIDEが教えてくれます。ダイアログを開いたときに、最初から数値が入っていますが、それがIDEが計算した推奨値です。

上のスクリーンキャプチャでは表示されている値の意味は次のようになります。

推奨値 : Maximum Heap Size に初期入力されているサイズ 1920 MB

現在値 : current valueに表示されている 1280MB

とりあえずは推奨値を設定してみましょう。まだ、もっさりしているなぁと感じたらその値よりも引き上げてみましょう。

私の業務で使用しているプロジェクトファイルでは推奨値は8192MBが表示されましたが、まだ遅いなぁと感じたので10240MBまで引き上げています。

それでも遅いと感じることはありますが、マシンが搭載している物理メモリが16GBなのでIDE以外の部分が足りなくならないように、10240MBまでで止めています。

不要なビューを畳む (2022年2月1日追加)

AppCodeやAndroidStudioのパフォーマンスアップでもっと効果的なものが見つかりました。

「不要なビューを畳む」です。巨大なプロジェクトでProjectナビゲータビューを閉じるだけで、エディタのパフォーマンスが大幅に向上しました。劇的に変わります。何かもっさりしているなぁと感じたら是非試してみてください。

このことに気がついて以来、ファイルを選択したら、Projectナビゲータを閉じる、CommitしたらCommitビューを閉じるが癖になりました。

著書紹介

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

Akira Hayashi (林 晃)のアバター Akira Hayashi (林 晃) Representative(代表), Software Engineer(ソフトウェアエンジニア)

アールケー開発代表。Appleプラットフォーム向けの開発を専門としているソフトウェアエンジニア。ソフトウェアの受託開発、技術書執筆、技術指導・セミナー講師。note, Medium, LinkedIn
-
Representative of RK Kaihatsu. Software Engineer Specializing in Development for the Apple Platform. Specializing in contract software development, technical writing, and serving as a tech workshop lecturer. note, Medium, LinkedIn

目次