Logo ja.androidermagazine.com
Logo ja.androidermagazine.com

Android A to Z:ダルビクとは

Anonim

Dalvikとは何ですか? 私たちは、Androidとその内部の仕組みについて話すときに、インターネット上で多くの言葉が投げかけられると聞きます。 いくつかの段落で簡単に説明できるわけではありませんが、基本をカバーし、オタク側を養う必要がある場合は正しい方向を示すことができます。 最も簡単に言えば、Dalvikは、Javaで記述されたアプリケーションとコードを実行する仮想マシンです。 標準のJavaコンパイラは、ソースコード(テキストファイルとして記述)をバイトコードに変換し、Dalvik VMが読み取って使用できる.dexファイルにコンパイルします。 基本的に、クラスファイルは.dexファイルに変換され(標準Java VMを使用している場合はjarファイルに似ています)、Dalvik仮想マシンによって読み取られて実行されます。 クラスファイルで使用される重複データは、.dex出力に1回だけ含まれます。これにより、スペースが節約され、オーバーヘッドが少なくなります。 アプリケーションをインストールするときに実行可能ファイルを再度変更して、モバイル向けにさらに最適化することができます。 バイトオーダースワッピングやデータ構造と関数ライブラリをインラインでリンクすることなどにより、ファイルが小さくなり、デバイス上で実行しやすくなります。 Dalvik VMは、Androidを念頭に置いてスクエア1から作成されました。

まだ混乱していますか? 気分を悪くしないでください。こっけいなプログラミングの話は通常その効果があります。 このように考えてください。お使いのコンピューター用のJavaアプリケーションを構築すると、Java仮想マシンがソースコードのコンパイル済み出力を実行します。 これが、Javaがほぼすべてのオペレーティングシステムで実行される理由です。 Dalvikはモバイル向けに最適化されたJava仮想マシンのバージョンであり、Apache Harmonyプロジェクトのコードを使用して構築されています。一度にVMのインスタンス-マルチタスク。 Dalvikはオープンソースであるため、BlackBerry PlayBookのような他のオペレーティングシステムにも移植されています。 非常に複雑で、非常にクールで、Oracle(SunからJavaを購入した会社)はそれを嫌っています。

AndroidはDalvikを使用します。これは、標準のJava仮想マシンのライセンスがGPL2(無料およびオープンソース)であるのに対し、モバイルデバイスに配置してJava Micro Editionを使用する場合、そうではないためです。 GoogleとOracleの間の大きな論争はすべてDalvikに基づいています。 Googleは、Oracleのコードを一切使用せずに「クリーンルーム」環境で作成されたと主張しており、Oracleは同意していない。 私たちは何も考えていないと主張しますが、それがうまくいくことを嬉しく思っています。