2012-07-26 54 views
1

可能是一個stup!@#問題。Android應用程序是本機還是JavaVM代碼?

我不知道爲Android開發應用程序,但我想知道,如果Android的應用程序,它們編譯時,生成的代碼是純自然本地代碼,或者是與Java虛擬機兼容的代碼。

非常感謝。

回答

2

Android上的大多數應用程序都是Java應用程序。它們被Java編譯器編譯爲.class文件,然後dx編譯器將.class文件編譯爲.dex文件,這些文件可由Android上的Dalvik VM(Java VM)執行。

儘管Dalvik虛擬機用於運行Java代碼,但它與計算機上的標準Java虛擬機明顯不同。標準虛擬機是一個「基於堆棧」的機器,而Dalvik VM則是「基於寄存器」。

您還可以使用NDK製作應用程序,並將它們寫入C或C++。這與Java不兼容(儘管您可以使用JNI將本機C代碼與Java代碼進行接口)。

相關問題