他の場所で触れたように、主な問題は、Androidがさまざまなハードウェアで実行できるポータブルOSとして設計されていることです。また、多くの既存のモバイル開発者によく知られているフレームワークと言語に基づいて構築されています。
最後に、私はそれが将来への賭けだと言います-存在するパフォーマンスの問題はハードウェアが改善されると無関係になります-同様に、開発者に抽象化に対してコードを作成させることにより、Googleは、基礎となるOSをはるかに簡単にリップアウトして変更できます。開発者はPOSIX / Unix APIにコーディングしていました。
ほとんどのアプリケーションでは、ネイティブでVMベースの言語を使用することによるオーバーヘッドはそれほど大きくありません(TwitterなどのWebサービスを使用するアプリのボトルネックは、主にネットワークです)。Palm WebOSもこれを示しています-そして、主要言語としてJavaではなくJavaScriptを使用しています。
ほとんどすべてのVM JITがネイティブコードにコンパイルされることを考えると、生のコード速度はネイティブ速度に匹敵することがよくあります。高水準言語に起因する多くの遅延は、他の要因(複雑なオブジェクトランタイム、境界チェックを行うことによるメモリアクセスの「安全性」チェックなど)よりも、VMオーバーヘッドとの関係が少ないです。
また、アプリケーションの記述に使用される言語に関係なく、実際の作業の多くは低レベルのAPIで行われることも覚えておいてください。最上位言語は多くの場合、API呼び出しを一緒にチェーンするだけです。
もちろん、このルールには多くの例外があります-電話のハードウェアの限界を押し広げるゲーム、オーディオ、グラフィックのアプリ。iOSであっても、開発者はこれらの領域でスピードを上げるためにC / C ++にドロップダウンすることがよくあります。