在增強(qiáng)版盒子4.42系統(tǒng)中包含了二個(gè)運(yùn)行環(huán)境,一個(gè)是盒子現(xiàn)在默認(rèn)的Dalvik環(huán)境,另一個(gè)是下一步GooLGe 將全面采用的ART環(huán)境,屆時(shí)Dalvik將被徹底拋棄!目前在Android4.4系統(tǒng)中,我們可以初步體驗(yàn)ART帶來(lái)的提速效果,但必須在盒子系統(tǒng)中“開發(fā)者選項(xiàng)”中打開。到底ART是如何提升Android系統(tǒng)流暢度的呢?本人找了些資料,簡(jiǎn)單介紹如下:
Android系統(tǒng)Dalvik環(huán)境下卡頓的原因是“垃圾回收”。Android 虛擬機(jī)采用的是自動(dòng)內(nèi)存管理方式,優(yōu)點(diǎn)是程序開發(fā)者無(wú)需考慮內(nèi)存的管理;缺點(diǎn)是開發(fā)者失去了控制權(quán),從而必須依賴系統(tǒng)本身管理機(jī)制。Dalvik垃圾回收機(jī)制是造成卡頓的重要原因之一。簡(jiǎn)單說(shuō)就是Dalvik虛擬機(jī)下啟動(dòng)垃圾回收時(shí),會(huì)造成兩次暫停,一次在遍歷階段,一次在標(biāo)記階段。所謂暫停就是所有線程都停止執(zhí)行,如果時(shí)間過(guò)長(zhǎng),渲染中就會(huì)出現(xiàn)掉幀,對(duì)用戶來(lái)說(shuō)就是出現(xiàn)卡頓。從Google提供的數(shù)據(jù),Dalvik環(huán)境下每次卡頓平均時(shí)間是54ms。而在ART環(huán)境下情況有了很大改善,共啟動(dòng)4次前臺(tái)垃圾回收和2次后臺(tái)垃圾回收。同樣運(yùn)行時(shí)間里,卡頓時(shí)長(zhǎng)總和為12.364ms,相對(duì)Dalvik來(lái)說(shuō)已經(jīng)是質(zhì)的提升了,很大的提高了系統(tǒng)運(yùn)行的流暢性。 可能大家會(huì)擔(dān)心ART環(huán)境運(yùn)行會(huì)和Dalvik環(huán)境下應(yīng)用程序出現(xiàn)兼容性問題,其實(shí)是木有必要的。ART兼容Dalvik字節(jié)碼格式dex,不會(huì)有兼容性問題。對(duì)未來(lái)64位架構(gòu)支持,ART也已經(jīng)考慮到了。Google宣稱Google商店的應(yīng)用程序85%都可以直接轉(zhuǎn)移到64位,剩下的15%需要重新編譯。所有程序轉(zhuǎn)移到64位平臺(tái)時(shí)間不會(huì)太遠(yuǎn)。
本人只在手機(jī)、平板轉(zhuǎn)換過(guò),轉(zhuǎn)換后要重新下載一些系統(tǒng)文件,體積有所增大,運(yùn)行中木有發(fā)現(xiàn)問題。因盒子對(duì)速度的要求不是那么迫切,所以本人還木有轉(zhuǎn)換過(guò)
|