前人未踏の領域へ Androidアプリ開発編

Androidアプリ開発に関する調査メモ置き場。古い記事にはアプリ以外も含まれます。

ARTとDalvikの違い

Intelに関連記事が掲載されていたのでメモ
https://software.intel.com/en-us/blogs/2014/06/18/art-vs-dalvik-introducing-the-new-android-x86-runtime

AOT vs JIT

Ahead-of-Time (AOT)

ARTはAOTコンパイラによりアプリインストール時にDEXバイトコードをマシンコードに変換。変換したコードは端末のストレージ内に格納される。

Just-in-Time(JIT)

DalvikはJITコンパイラにより実行時に変換

パフォーマンス

DalvikがJITコンパイラによる実行時変換を行うのに対し、ARTはその処理を既に終えているのでその分の処理が無く、アプリ起動も早い。メモリの使用量も少なく済む。

バッテリー消費

DalvikがJITコンパイラによる実行時変換を行うのに対し、ARTはその処理が無いのでCPU消費が少なく済む。よってバッテリー消費もARTの方が少ない。

インストール時間

ARTではインストール時にAOTによるマシンコード変換が行われるのでその分だけインストールに時間がかかる。が、これは恐らく無視できるレベルかと。

ストレージ使用量

ARTではAOTで変換したマシンコードが端末のストレージに格納されるため、その分だけ利用サイズが増える。