簡體   English   中英

JVM與Dalvik和/或ART有何不同?

[英]How exactly does JVM differ from Dalvik and/or ART?

首先,我想我可能會把這個問題標題很差,但是我想不出正確的話,所以請隨意提出一個編輯,然后我會做出來,這樣問題就更有教育意義並且與其他人相關。

我知道javax.Swing根本不能用於Android項目,我已經接受了這個並學習了基於Android XML的UI設計,但出於好奇,我想確切地知道原因

我意識到手機的屏幕尺寸可能是Swing不能很好地處理的東西,但是什么是阻止開發人員簡單地導入javax.Swing包(除了Android Studio之外根本不讓它發生)變形和丑陋的搖擺窗口可能在Android設備屏幕上? 我也意識到AWT和SWT也必須被導入,但同樣的問題也適用於這些包。

我認為我對此缺乏了解可能真的源於缺乏對Java虛擬機和Android等價物的理解(Dalvik仍在使用,還是他們將冷火雞轉換為ART?)。

與往常一樣,非常感謝您提供的任何信息或閱讀主題。 我真的想要了解更多關於JVM,Dalvik和ART如何工作的基礎知識。

至少有三個根本區別:

  • API不同; 例如,即使最新版本的Android SDK也沒有JSR 203;
  • 二進制格式不同; Dalvik / ART不生成JVM字節碼;
  • 語言水平不同; 這部分是前一點的結果,因為為了支持給定的語言級別,Dalvik / ART必須重新實現所有解析/字節碼生成以適應其自己的VM。

的最后一點意味着,作為一個結果,還有Android中沒有主流支持並重,以資源出現於Java的5 年前 ; 隨着時間的推移,各種各樣的努力已經看到了支持這個以及Java 8的“好東西”,但它們都不是真正的Java“核心”; 明白,他們不使用JVM,他們不使用Java編譯器。

最近的消息告訴我,這肯定會改變“Android N”(實際上會使用OpenJDK)。 這是個好消息。 此外,關於第1點,您可能還記得臭名昭着的Oracle與谷歌案件有關API的版權......這仍然沒有完全解決。

本文可能對您有所幫助http://www.techentice.com/dalvik-vs-art-android-drop-dalvik-efficient-art/盡管它有點過時,已經過時了。 然而,它解釋了JVM與DALVIK和ART之間的差異。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM