Dalvik VMが終了?次期AndroidではARTが標準に

Dalvik VMの終幕が迫っている。次のAndroidバージョンでは、ART(Android Runtime)がデフォルト環境となり、新たな一歩を踏み出します。この新たな運行環境は、Dalvikとは異なるアプローチで、よりスピーディで効率的なパフォーマンスを追求しています。本記事では、ART環境の特徴、その導入理由、そして我々のモバイルエクスペリエンスにどのような影響を及ぼすかを探求していきます。新たなAndroid時代への移行は、私たちユーザーにとっての新たな体験をもたらします。
ART: Android Runtimeの新時代
Dalvik VMからの移行過程
Android 4.4 KitKatまでは、Dalvik VMがAndroidアプリケーションの実行エンジンとして主導的役割を果たしてきました。しかし、次世代Android環境においては、ART(Android Runtime)が新たに台頭し、その地位を奪うことになります。
ARTが選ばれた主な理由
ARTは、仮想機の Ahead-of-Time(AOT) コンパイラを使用することで、より高いパフォーマンスとバッテリーの効率を達成します。これはDalvik VMが使用していたジャスト・イン・タイム(JIT)コンパイラから大きな転換です。
折りたたみ自転車用の泥除けをDIYで取り付けてみた(取り外し可能なヤツを)ARTがもたらすメリットと変革
ARTの採用により、アプリの起動時間、実行速度が向上しました。また、Garbage Collectionの一時停止時間が短縮され、オーバーヘッドが軽減されました。
ART導入に伴う課題
一方、ARTの導入は、一部の開発者がビルド時間を長く感じ、また初期のバージョンでは一部のパフォーマンスの低下が見られたなどの問題がありました。
ARTの今後の展開
Android OSの最新バージョンでは、ARTが標準の仮想機となることで、Androidプラットフォーム全体のパフォーマンスとレスポンス性が改善しています。
複数台のルンバ・ブラーバはマップ情報を共有できるのか?| 比較項目 | Dalvik VM | ART |
| 実行エンジン | JITコンパイラ | AOTコンパイラ |
| パフォーマンス | Após | 向上 |
| バッテリー効率 | Moderado | 向上 |
| アプリの起動時間 | Largo | 短縮 |
| GCの一時停止時間 | Longo | 短縮 |
DalvikとARTの違いは何ですか?

DalvikとARTは、AndroidシステムのVM(仮想マシン)で、それぞれ異なる形式のバイトコードを実行します。Dalvikは、おもにAndroid 4.4(KitKat)までのバージョンで使われていました。対照的に、ARTはKitKatのアップデート版、すなわち、Android 5.0(Lollipop)から導入されたものです。
1. サイクルの違い
Dalvikは、ジャストインタイムコンパイル(JIT)を使用しており、コードは実行される直前にコンパイルされます。一方、ARTは、アプリのインストール時にアヘッドオブタイム(AOT)コンパイルを行い、バイトコードを機械語に変換します。
ディスプレイオーディオの接続が不安定→アップデートしたら直った話【PVH-9300DVSZS】- DalvikではJIT
- ARTではAOT
- この違いは処理速度とメモリ使用に大きな影響を与えます。
2. 性能と効率性の違い
ARTのアヘッドオブタイム(AOT)コンパイルは、一般的にDalvikよりも高い性能と効率性を提供します。これはアプリが起動する前に全てのコードがコンパイルされることによるものです。
- ARTはAOTのため性能が良い。
- DalvikはJITのため相対的に遅い。
- ARTは初回起動時に遅くなりますが、その後は高速に動作します。
3. メモリ使用の違い
ARTはDalvikに比べてよりメモリを消費します。これはAOTコンパイルが生成するコードが大きいためです。しかし、これは高性能なデバイスでは大きな影響を及ぼしません。
- ARTは生成コードが大きいためメモリ消費量が多い。
- Dalvikは比較的メモリ消費が少ない。
- 新しいデバイスではこのメモリ使用の違いは殆ど問題にならない。
Android VMとは何ですか?

Android VMとは、 Dalvik Virtual Machine(Dalvik仮想マシン)といった名前でも知られ、Androidアプリケーションが動作するための環境を提供する仮想マシンのことを指します。Android VMは、一つのハンドセット上で複数のアプリケーションが同時に安全に動作できるように設計されています。
1. Android VMの働き方
Android VMは、 Dalvik Bytecode(Dalvikバイトコード)を実行するために使用されます。
- Dalvik Bytecodeは、Androidアプリケーションのコンパイル時の結果です。
- このBytecodeは、接続性と互換性を確保するために、さまざまなデバイスで実行可能に設計されています。
- そのため、Android VMはこのBytecodeを実行し、アプリケーションが期待されるように動作することを保証します。
2. Android VMとJava Virtual Machineの違い
Android VMとJava Virtual Machine(Java仮想マシン)は、いくつかの重要な面で異なります。
- Java VMは一度に1つのスレッドしか実行できませんが、Android VMは一度に複数のアプリケーションを実行できます。
- また、Java VMは完全なガーベジコレクションを持っていますが、Android VMはそれだけのメモリを消費しないように、よりリソースを考慮した方法で動作します。
- 最後に、Android VMは Dalvik Bytecodeを実行しますが、Java VMはJava Bytecodeを使います。
3. Android VMの重要性
Android VMはAndroidプラットフォームにとって非常に重要な要素です。
- Android VMのおかげで、さまざまなデバイス上でアプリケーションの互換性が保証されます。
- また、アプリケーションの安全性が確保されます。それぞれのアプリケーションが自分のVM上で隔離状態で動作し、他のアプリケーションが そのデータにアクセスすることを防ぐためです。
- さらに、リソースを効率的に使用し、複数のアプリケーションが同時に安全に動作する能力は、Androidのパフォーマンスを大きく向上させます。
よくある質問
ダルビックVMが終了した具体的な理由は何ですか?
ダルビックVMの終了は、Androidがパフォーマンスと省電力を更に向上させるための一環でした。ARTはダルビックよりも効率的な実行環境を提供し、バッテリー寿命の向上、短い応答時間、低遅延を達成するために最適化されています。
ARTが標準となった次のAndroidでは、何が変わったのですか?
ART(Ahead-of-Time Compiler)が標準になった次のAndroidでは、主要な違いはアプリケーション実行モデルからです。ダルビックVMはJust-in-Time(JIT)コンパイル方式を使用していましたが、ARTはすべてのコードをアンドロイドデバイスにインストールされる前にコンパイルする方式を採用しました。
ARTとダルビックVMの主な違いは何ですか?
ARTとダルビックVMの主な違いはその実行方法にあります。ダルビックは、アプリが起動したときに必要な部分をコンパイルするJIT方式を使用していました。しかし、ARTはAOT(Ahead Of Time)コンパイルを使用するため、全てのコードがアプリがインストールされる時点でコンパイルされます。
ARTへの移行がユーザーにどのような影響を与えたのですか?
ARTへの移行はユーザー体験に大きな明るい影響を及ぼしました。応答時間が短縮され、バッテリー寿命が向上し、アプリの起動、動作がよりスムーズになりました。また、AOTコンパイルにより、アプリのインストール時間が非常に短縮されました。
Dalvik VMが終了?次期AndroidではARTが標準に に類似した他の記事を知りたい場合は、技術 カテゴリにアクセスしてください。

関連記事