Androidエミュレータの起動は非常に遅いのです。要はARM仮想マシンなので、実行性能が物理CPUに比べると5~10倍くらい遅いのはどうしようもありませんが、起動を速くすることは簡単にできます。
スナップショット機能を使う
Android開発でエミュレータの起動の遅さが悩みの種という人も多いのではないかと思います。エミュレータの起動待ちで始めたCityVilleについハマり、起動時間の実質5倍以上の時間を無駄にしたという人も多いんじゃないかなーと思います。AVDのバージョン9.0以降、仮想マシンのスナップショットの保存と復元がサポートされました。この機能を使うとびっくりするくらい起動が速くなります。
[マシンスペック]
CPU | Core2Duo 2.8GHz |
RAM | 6GB |
OS | Windows7 64bit |
[エミュレータ環境]
プラットフォーム | Android4.0.3 |
SDCard | 256MB |
Device RAM Size | 512MB |
という環境で起動時間を比較してみたところ、次のような結果となりました。
スナップショットなし | スナップショットあり |
5分32秒34 | 14秒17 |
スナップショットというのは、仮想マシンのメモリをイメージのままディスクに保存し、次回起動時は通常のマシンブートシーケンスを実行するのではなく、保存したメモリイメージをそのままロードすることで、前回終了時の状態をそっくりそのまま復元するという機能。PCのバーチャルマシンソフトではおなじみの機能だ。
設定方法
AVDマネージャを開き、仮想マシンを選択する。「編集」ボタンをクリックします。Snapshotの「使用可能」チェックボックスにチェックします。
Snapshotを有効にした直後の起動時には「Wipe User Data」をチェックして起動する必要があります。
その際の起動は従来と同じだけの時間がかかってしまいます。
次回以降は、「Lanch from snapshot」をチェックして起動すれば、高速に起動します。
これで起動待ちの必要がなくなったのだから、釣りスタなんかにうつつを抜かしてないで早く仕事に戻りましょう。
なお、終了時にスナップショットを作成するので、終了にこれまでより少々時間がかかるようになってしまいますが、これはいたし方ありません。
0 コメント:
コメントを投稿