みんなのケータイ
![](/img/ktw/subcornerinfo/001/737/minna_title.jpg)
ARTモードでNexus 5のアプリ実行を高速化してみた
【Nexus 5】
大和哲
(2014/2/28 06:00)
CPUにSnapdragon 800を搭載しているNexus 5、そのままでも、ほぼ素のAndroidが搭載されていることもあってUIなどがテキパキ反応し十分「速い」操作フィーリングを楽しめるのですが、「ARTモード」という、アプリの実行速度を高速化するモードが搭載されていると聞き、試してみました。
このARTモードとは、「Android Run Time」の略で、これまでAndroidで使われてきたDalvikに代わる仮想計算機(Virtual Machine、VM)に入れ替えるというもの。簡単に言えばアプリケーションを実行するエンジンそのものを載せかえるというようなモードです。Nexus 5に搭載されているAndroid 4.4から、主に開発者からのフィードバックを得る目的で、テスト的にこのAndroid Run Timeが用意されているのです。
とはいえ、Nexus 5をこのモードにする方法自体は簡単で、一般ユーザーでも簡単に可能です。具体的には、「設定」から「開発者向けオプション」→「ランタイムを選択」を選択します。すると「Dalvikを使用」「ARTを使用」という選択肢が出てくるので、「ARTを使用」を選ぶだけ。あとはNexus 5が再起動し、自動的にARTモードに移行します。ARTモードで再起動するまで、インストールしているアプリの数にもよりますが、少なくとも3分以上はかかります。
ARTではプログラムの実行に、これまでDalvikが採用していたJust In Time方式と異なり、Ahead Of Time方式、つまり、アプリがインストールされた段階で、ネイティブ実行可能な形式に変換するようになっていることで、その実行速度を向上させています。
その効果ですが……実際モードを変更してみると、はっきり体感できるほどNexus 5で実行するアプリのレスポンスが変わります。実にキビキビと動くんです。
実際どの程度違うのか、ベンチマークをとってみました。使用したのはAnTuTuベンチマーク。トータルスコアでDalvik:19107→ART:21897。約1.2倍弱くらいの高速化です。高速化されるのは整数演算、メモリ読み書き、I/Oまわりなどで、逆に2Dグラフィックまわりなどはそれほど速くはならないので、アプリでもグラフィックより実計算に時間がかかっているものなどの方が高速化された実感が沸くのではないかと思います。
ちなみに、ランタイムをARTに変更するとアプリの実行が高速化されるうえに、実は、バッテリーのもちも改善されるそうです。
ただ、このARTモードは、Nexus 5に試験的に導入されたもので、アプリによっては動作途中でハングアップしたり、異常終了したりということもまだまだあります。筆者の使っている範囲のアプリでは異常は見られなかったのですが、インターネットを検索するとLINEの通話が使えないなどの問題が見られるケースがあるということでした。まぁ、自分の使いたいアプリがARTモードで動かなくて困るのであれば、設定でまたランタイムをDalvikを使用するようにすればいいだけの話ではあるのですが……。
もし試してみようという方は、ARTモードの導入は自己責任で試してみてくださいね。