2016-03-28 14:59:47 1596瀏覽
Android虛擬機(jī)的出現(xiàn)方便開發(fā)者使用安卓環(huán)境更為方便開發(fā)。可以讓你在PC端(電腦上)安裝運(yùn)行模擬Android系統(tǒng)。并可以在電腦端進(jìn)行幾乎任何手機(jī)上可以進(jìn)行的操作,甚至還可以像手機(jī)一樣連接電腦,被手機(jī)助手檢測(cè)到,可以模擬所有官方版本的安卓系統(tǒng),并且有多款皮膚和屏幕樣式可供選擇。Android系統(tǒng)開發(fā)教程關(guān)于Android在虛擬機(jī)和原生庫(kù)層面進(jìn)行的優(yōu)化。
Android開發(fā)培訓(xùn)關(guān)于Android在虛擬機(jī)和原生庫(kù)層面進(jìn)行的優(yōu)化
Android虛擬機(jī)概述
虛擬機(jī)中指令的解釋時(shí)問主要分為3個(gè)方面,分別是分發(fā)指令、訪問運(yùn)算數(shù)、執(zhí)行運(yùn)算。其中“分發(fā)指令”這個(gè)環(huán)節(jié)對(duì)性能的影響最大,為了加快運(yùn)行速度,必須提高分發(fā)指令的速度。
與傳統(tǒng)的Java虛擬機(jī)基于棧不同,Dalvik是基于寄存器的?;诩拇嫫鞯奶摂M機(jī)實(shí)現(xiàn),雖然在硬件通用性上稍遜一籌,但是數(shù)據(jù)處理速度卻有明顯的改善,可以更為有效地減小冗余指令的分發(fā)和減小內(nèi)存的讀寫訪問。
Android虛擬機(jī)優(yōu)化
Dalvik虛擬機(jī)針對(duì)移動(dòng)終端所做的優(yōu)化,使得其不需要很快的CPU速度和大量的內(nèi)存空間。根據(jù)Google的測(cè)算,Android的早期版本只需要64MB的RAM即可使系統(tǒng)正常運(yùn)轉(zhuǎn),其中24MB被用于底層系統(tǒng)的初始化和啟動(dòng),另外20MB被用于高層啟動(dòng)、高層服務(wù)。隨著Android版本的不斷升級(jí)和應(yīng)用功能的擴(kuò)展,Android對(duì)內(nèi)存的消耗也在逐漸增加。
另外需要注意的是,Dalvik并不是按照J(rèn)ava虛擬機(jī)的規(guī)范來實(shí)現(xiàn)的,兩者并不兼容。Java虛擬機(jī)運(yùn)行的是Java字節(jié)碼,而Dalvik虛擬機(jī)運(yùn)行的則是其專有的DEX(DalvikExecutable)字節(jié)碼。
關(guān)于Java虛擬機(jī)
在Java SE程序中,Java類會(huì)被編譯成一個(gè)或者多個(gè)字節(jié)碼文件(.class),然后打包成JAR文件。在執(zhí)行期間,Java虛擬機(jī)會(huì)從JAR文件抽取相應(yīng)的CLASS文件并從中讀取指令和數(shù)據(jù)。而Android雖然也是基于Java語言進(jìn)行編程的,但是在編譯成CLASS文件后,Android會(huì)通過“dX”工具將應(yīng)用所有的CLASS文件轉(zhuǎn)換一個(gè)DEX文件,接著將DEX和應(yīng)用的其他如資源文件等一起打包構(gòu)成APK文件,而后Dalvik虛擬機(jī)會(huì)從其中讀取指令和數(shù)據(jù)。
上文的內(nèi)容中,詳細(xì)講解Android開發(fā)環(huán)境搭建在虛擬機(jī)和原生庫(kù)層面進(jìn)行的優(yōu)化,Android虛擬機(jī)的出現(xiàn)開發(fā)者更為方便進(jìn)行Android開發(fā)。如果您同樣對(duì)AndroidApp軟件開發(fā)感興趣,可以關(guān)注我們的官網(wǎng)網(wǎng)站和微信、微博等。
查看更多關(guān)于“Android培訓(xùn)資訊”的相關(guān)文章>>