Android開發(fā)環(huán)境搭建之Dalvik虛擬機(jī)
由于大多數(shù)用戶使用Java編寫Android應(yīng)用程序,一個(gè)顯而易見的問題是:Android是否提供Java虛擬機(jī)?答案是沒有,Android不提供Java虛擬機(jī)。因此Java存檔(JavaArchive,JAR)文件將不會(huì)在Android上執(zhí)行,因?yàn)锳ndroid并不執(zhí)行字節(jié)碼。Android提供的是Dalvik虛擬機(jī)。Android使用名為dx的工具將字節(jié)碼轉(zhuǎn)換成Dalvik可執(zhí)行代碼(Dalvik Executable,DEX)。
Android開發(fā)環(huán)境搭建之Dalvik虛擬機(jī):
它最初由Dan Bornstein開發(fā)并以他的祖先在Iceland居住過的漁村的名字Dalvik來命名。Dalvik是一個(gè)基于寄存器的、高度優(yōu)化的、開源的虛擬機(jī)。Dalvik不向Java SE或Java ME看齊,并且它的庫是基于Apache Harmony項(xiàng)目的。每個(gè)Java應(yīng)用程序運(yùn)行在自身的虛擬機(jī)上。當(dāng)設(shè)備啟動(dòng)時(shí),一個(gè)稱為Zygote的新進(jìn)程會(huì)產(chǎn)生一個(gè)虛擬機(jī)進(jìn)程。然后Zygote進(jìn)程交叉創(chuàng)建新的請(qǐng)求進(jìn)程虛擬機(jī)。在Dalvik背后的主要?jiǎng)訖C(jī)是通過增加共享來減少內(nèi)存占用,在Dalvik中的常量池也由此成為共享池,它同樣共享核心以及在不同虛擬機(jī)進(jìn)程當(dāng)中的只讀庫。Dalvik依賴于Linux平臺(tái)上的所有底層功能,如線程和內(nèi)存管理。Dalvik對(duì)每個(gè)虛擬機(jī)都有一個(gè)獨(dú)立的垃圾回收器,但要謹(jǐn)慎處理共享資源的進(jìn)程。
綜合上述,Android開發(fā)環(huán)境搭建之Dalvik虛擬機(jī)的詳細(xì)介紹。目前移動(dòng)互聯(lián)網(wǎng)行業(yè)光明的發(fā)展前景,Android系統(tǒng)穩(wěn)步上升的市場(chǎng)份額,很多用戶都喜歡Android系統(tǒng),其方便輕松的應(yīng)用,決定了其發(fā)展的地位以及在市場(chǎng)上所占據(jù)的比重。創(chuàng)客學(xué)院Android視頻教程入門語言Java開發(fā)免費(fèi)開放給學(xué)員觀看,同時(shí)在線講師全天候答疑和批改作業(yè),幫助每一位對(duì)Android開發(fā)技術(shù)感興趣的學(xué)員入門Android領(lǐng)域。
- 贊