デフォルトのJava仮想マシンが「Dalvik」から「ART」に変更される?
今回、目下の話題となっているのが、このJava仮想マシン(JavaVM)の変更だ。「ART」はKitKatで新たに導入されたJavaVMだが、安定性の面で非常に不安であり、KitKatに初めて導入された当時はデフォルトのJavaVMはまだ「Dalvik」であり、ARTはあくまでも試験的導入の位置付けだった。
だがInquirerが指摘しているように、現在Javaの権利保持者であるOracleの「GoogleはJavaの著作権を侵している」という主張を裁判所がつい最近になり認めるという話題が出ており、DalvikでのJavaVM実装が潜在的にOracleの権利を侵している可能性が濃厚になってきた。ART導入はこうした経緯の中で出てきたもので、こうしたリスクの中でDalvikからの乗り換えを意識したものである可能性が高い。そして、そのタイミングが次期Android OSである可能性が高いというわけだ。
なお、ART自体の改良は急ピッチで進んでおり、当初問題とされたパフォーマンス面での不安定さはかなり改善された印象がある。両者は根本的にJavaVMの実装方式が異なっており、DalvikがJavaコードを逐次ネイティブ変換する「JIT (Just In Time)コンパイラ」なのに対し、ARTはアプリのインストール時点でJavaコードをネイティブ変換する「AOT (Ahead Of Time)コンパイラ」となっている。その意味で、最適化さえ行われればAOTのほうがパフォーマンス面で有利な可能性が高いとされる。