2016-10-17 7 views
0

私はAndroidスタジオで開発を始め、Javaの世界から来ています。 APKがAndroidで動作することを事前に知っている場合、DalvikやARTなどの仮想マシンが必要なのはなぜですか? Javaでは、仮想マシンの主な目的はアプリケーションを複数のプラットフォームで実行できるようにすることですが、明らかにAPKの場合はそうではありません。ターゲットプラットフォームを事前に知っている場合、Androidはなぜ仮想マシンを使用しますか?

答えて

2

Androidはほとんどのデスクトップ環境よりもはるかに制約の少ない環境です。たとえば、「標準の」Windowsデスクトップアプリケーションを作成している場合、あなたのものはIntelプロセッサ(または同じアセンブリ言語を使用するシステム)を使用するシステムに配備されることがわかります。あなたはAndroidでこれを知りません。ほとんどの場合、ARM(RISCアーキテクチャ)プロセッサ上で動作しますが、MIPS(RISCでも構いませんがアセンブリ言語は多少異なります)またはAtom(CISCアーキテクチャ、、大幅にアーキテクチャおよびアセンブリ言語)プロセッサ。ポイントは、Androidでは、異なる(恐らく大きく異なる)アーキテクチャとアセンブリ言語を持つ複数のプロセッサに展開することができるということです。

ネイティブ開発であっても、いくつかのプロセッサでクロスコンパイルする必要があります(詳細はthis questionを参照してください)。

関連する問題