為什麼在 Android 系統上執行的 Java 程式不使用標準 Java API 和虛擬機器?
標準 Java API 和虛擬機器主要設計用於桌面和伺服器系統,它們與移動裝置的相容性並不高。因此,Google 為移動裝置建立了不同的 API 和虛擬機器,這就是所謂的 Dalvik 虛擬機器。
Dalvik 虛擬機器是 Android 執行時的關鍵元件,它是專門為 Android 開發的 JVM(Java 虛擬機器)的一部分。Dalvik 虛擬機器使用 Java 中非常重要的功能,例如記憶體管理和多執行緒等。Java 程式首先被轉換為 JVM 位元組碼,然後被解釋為 DVM 位元組碼。
JVM 和 DVM 的詳細資訊如下:
Java 虛擬機器
Java 虛擬機器是一個應用程式,它提供執行時環境來執行 Java 位元組碼。它將位元組碼轉換為機器碼。Java 虛擬機器可以執行多種操作,例如載入程式碼、驗證程式碼、執行程式碼、提供執行時環境等。
下圖說明了 Java 虛擬機器的執行原理:
Dalvik 虛擬機器
Dalvik 虛擬機器是 Java 虛擬機器的一個版本,它針對低功耗手持裝置(即移動裝置)進行了最佳化。DVM 優化了移動系統的電池續航時間、記憶體和整體效能。
面向 Android 的程式首先使用 Java 編寫,然後編譯為 JVM 位元組碼。之後,此位元組碼被轉換為 Dalvik 位元組碼並存儲在 .dex 和 .odex 檔案中。它們分別是 Dalvik 可執行檔案和最佳化的 Dalvik 可執行檔案。
下圖說明了 Dalvik 虛擬機器的執行原理:
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP