Kotlin♪Android Studioが遅いときの対策

環境設定も完了し、Hello worldを実行させたら結果出力に4分もかかる。これは対策が必要ね。わたし、比較的気長に待てるほうですけど、これでは単純計算でも1時間で15回しか実行できない。学習効率が悪すぎる。

0.Kotlin♪今日から始めようシリーズ

この記事は「Kotlin♪今日から始めようシリーズ」の記事です。一連の記事は、以下のリンク集を参照してください。

Kotlin♪今日から始めようシリーズ

1.PCスペック

私のノートPCのスペックは以下の通りです。Excelなどを使う用途として中の下ぐらいでしょうか。

  • プロセッサ:Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz
  • 実装RAM:4.0GB
  • システムの種類:64ビットオペレーティングシステム、 x64 ベースプロセッサ
  • OS:Windows 10 Home バージョン 1909

Android Studio側の主な最初の状況は以下のとおりです。

  • Android Studio 3.5.3
  • エミュレータ:Nexus 5X API 29、Android 10.0(Google APIs)、CPU/ABI:x86

2.対策

最終的には実行開始からHello world表示までの時間が4分から対策により45秒に短縮されて満足です。

私の場合はPCのメモリ不足が主要因だったようですが、実際に行った対策を以下に列挙します。

  • HAXMのインストール
  • エミュレーターのAndroidのOSバージョンの変更
  • ウィルス対策ソフトのリアルタイムスキャンの一時停止
  • メモリーの増設(4GB→12GB)

なお、ノートパソコンで10秒ぐらいで実行できている人もいるようですので、Android Studioが遅いと言うよりも、PCのスペックが低いのだと思います。

(1) HAXMのインストール

HAXMとは、Intelが提供しているエミュレータ高速化エンジンで、Windows上で仮想のAndroidを表示してくれるエミュレータの速度を向上させてくれます。HAXMが有効になっていないと、かなり実行速度が遅くなるようです。

私は、以下の記事のように、大きなトラブルもなくインストールできたのですが、HAXM適用後の実行時間が3分59秒(3回実行した平均時間)です。なお、HAXM適用前の実行時間は計測していません。

Kotlin♪環境設定「HAXMがインストールされていません」

(2) エミュレーターのAndroidのOSバージョンの変更

AVDマネージャーでエミュレーターの内容を調べてみると、エミュレーターのAndroidのOSバージョンが10.0になっていました。新しいバージョンのOSはメモリーを多く使いそうなので、バージョンを8.1に下げてみました。8.1を選んだ理由は私のスマホが8.1だからです。

バージョンの変更はAVDマネージャーを使います。右上の小さなスマホのマークがAVDマネージャーです。

AVDマネージャーの起動

なお、話がそれますが、上画像は起動途中の画面です。赤いビックリマークが表示され驚きますが、右下を見ると2個のプロセスが実行中であり、しばらく待つと起動します。あわてず待ちましょう。

また、ADVマネージャーは、以下初期画面右下の[構造]から起動することも可能です。

ADVマネージャーでは、左下の[仮想デバイスの作成]をクリックするか、変更したいエミュレータの右側の鉛筆印の部分[このAVDを変更する]をクリックするとOSが変更できる画面に移行します。

バージョンを8.1に変更することにより実行時間が3分59秒から、2分11秒まで短縮されました。時間が半分になると体感ではもっと速くなったような気がします。これも3回実行した計測時間の平均です。(以下、実行時間とはすべて3回平均とします。)

(3) ウィルス対策ソフトの干渉

Android Studioを実行していると、イベントログなどでウィルス対策ソフトが干渉していることが表示されます。コードの保存フォルダだけではなく、sdkやsystemフォルダのファイルにも干渉しているようなので、リアルタイムスキャンの実行を除外する設定を試したい場合は注意が必要です。

Your anti-virus program might be impacting your build performance. Android Studio checked the following directories: 
    C:\Android\sdk
    C:\Users\SnowTree\.AndroidStudio3.5\system
    C:\Users\SnowTree\Documents\kotlin_code\Omikuji  ←作成したコードが保存されている場所
    C:\Users\SnowTree\.gradle

この方法でもかなり速くなる場合があるようですが、私の場合には2分11秒から2分7秒にしかならず、ほとんど変わりませんでした。

(4) メモリーの増設

最後にメモリーを4GBから12GBに増設をした結果ですが効果は明らかです。なんと、45秒で実行できました。やっぱり速い!Androil Studioはエミュレータを起動するコンパイラ言語なので、だいたい最初にイメージしたとおりです。動いてよかった~。

なお、メモリーを12GBに増設した状態でも、エミュレーターのAndroid OSが8.1の場合と10.0の場合の比較をしてみましたが、Ver.8.1が45秒、Ver.10.0が46秒でした。組むプログラムの内容にもよりますが、このことからも12GBであれば、ひとまずメモリーが足を引っ張ることはないようです。

(5) 文法の勉強するには

Android Studioは、かなり使いやすそうです。でも、私のようにマシンスペックが低い場合にはfor文やif文、配列といった基本文法を勉強するには向いていないような気がします。Android Studioは、エミュレータを立ち上げずに実行できないようですので実行に時間がかかります。基本文法の勉強のときだけは「IntelliJ IDEA」「Kotlin Playground」「Try Kotlin」などを使った方が効率がよいと思います。

なお、「Kotlin Playground」「Try Kotlin」はブラウザ上で動く環境であり、「Kotlin Playground」は、私が購入した以下のUdemyの講座でも使用されています。

はじめての Kotlin【Java 知らなくてOK!丁寧な解説で Android に必要な Kotlin の基本を学習】

また、「IntelliJ IDEA」は、エミュレーターを立ち上げずに実行できるだけではなく、Androidアプリも、Windowsアプリも開発できるので、次のステップを視野に入れてインストールするというのもありだと思います。なお、Android Studioは、IntelliJ IDEA をベースとした統合開発環境であり、共通点も多いです。

3.まとめ

環境設定が第一のハードルです。 そして、環境設定はそれぞれのPCの状況により対応も様々です。この記事は事例の1つでしかありませんが、参考にしていただければと思います。以下、私の事例についてのまとめです。

  • PCのメモリーが4GBでは明らかにメモリー不足です。でも、動かないことはないです。
  • メモリーを12GBにすると、少なくともシンプルなプログラムコードであれば十分なようです。
  • PCメモリ4GBでAndroid Studioを動かしたい場合にはエミュレーターのAndroid OSのバージョンを下げると効果があります。

私が実際に購入した教材のご紹介

以下、私がKotlinを勉強するために実際に購入した教材を紹介した記事です。

私が購入したKotlinの教材