私はAndroidスタジオで開発を始め、Javaの世界から来ています。 APKがAndroidで動作することを事前に知っている場合、DalvikやARTなどの仮想マシンが必要なのはなぜですか? Javaでは、仮想マシンの主な目的はアプリケーションを複数のプラットフォームで実行できるようにすることですが、明らかにAPKの場合はそうではありません。ターゲットプラットフォームを事前に知っている場合、Androidはなぜ仮想マシンを使用しますか?
0
A
答えて
2
Androidはほとんどのデスクトップ環境よりもはるかに制約の少ない環境です。たとえば、「標準の」Windowsデスクトップアプリケーションを作成している場合、あなたのものはIntelプロセッサ(または同じアセンブリ言語を使用するシステム)を使用するシステムに配備されることがわかります。あなたはAndroidでこれを知りません。ほとんどの場合、ARM(RISCアーキテクチャ)プロセッサ上で動作しますが、MIPS(RISCでも構いませんがアセンブリ言語は多少異なります)またはAtom(CISCアーキテクチャ、、大幅にアーキテクチャおよびアセンブリ言語)プロセッサ。ポイントは、Androidでは、異なる(恐らく大きく異なる)アーキテクチャとアセンブリ言語を持つ複数のプロセッサに展開することができるということです。
ネイティブ開発であっても、いくつかのプロセッサでクロスコンパイルする必要があります(詳細はthis questionを参照してください)。
関連する問題
- 1. ゲーム内で仮想マシンを使用していますか?
- 2. レジスタベースの仮想マシンがスタックベースの仮想マシンよりも優れているのはなぜですか?
- 3. 仮想マシンを使用して仮想マシンにIPアドレスを割り当てます。
- 4. 1つの仮想ディスクを2つの異なる仮想マシンで使用仮想マシン
- 5. Anonymousを使用して仮想マシンにVMware Toolsをインストールする
- 6. Jenkins - 仮想マシンを使用したCI
- 7. Androidに仮想マシン(DVM)が必要なのはなぜですか?
- 8. 仮想ボックス用の仮想マシンの場所
- 9. Ubuntu端末のプロキシ設定を仮想マシンで使用する場合
- 10. ARMテンプレートを使用して仮想マシンをプロビジョニングする方法
- 11. 仮想マシンの下でVistaを使ってアプリケーションをテストする
- 12. pyvmomi pythonを使ってダミー仮想マシンをパワーオンする方法
- 13. 事前ビルドされたCMSを使用しない場合は、
- 14. Androidスタジオが仮想マシンから電話機にアプリを起動できない場合がある
- 15. ホームステイのmysqlデータベース(仮想マシンを使用してOSXにインストールされている)をWindows仮想マシン(VMWare)からダウンロードします。
- 16. 私はプレースメントの新しい&仮想関数を使用しています。なぜ私の仮想関数テーブルが間違っていますか?
- 17. は、仮想マシンに使用可能な重複を
- 18. 仮想マシンと仮想デスクトップの違いは何ですか?
- 19. Androidで仮想マシンを開発
- 20. Dalvikの通常のAndroid仮想マシンとGoogle API仮想マシンの違いは何ですか
- 21. Android:仮想マシンはウェブサイトからファイルをダウンロードできません
- 22. Azure、仮想ネットワークゲートウェイを使用せずに2台の仮想マシンを接続しますか?
- 23. ヘルプWindows Vista仮想マシンにWindows XPをインストールしてWindows Vista仮想マシンにアクセスするための仮想マシンを設定する
- 24. 仮想マシンを使用してアプリケーションのパフォーマンスをテストできますか?
- 25. Javascript仮想マシン
- 26. 仮想ボックスから別のマシンにTCP/IPを使って接続する
- 27. クラウドファウンドリストリーミングログを仮想マシンにリダイレクト
- 28. 2台の仮想マシンをAzure仮想ネットワークに接続する
- 29. 仮想マシンのazure cliの使用
- 30. MACアドレスなどの仮想マシンの仮想マシンから物理ホスト情報を取得します。