大家好,我是森森
這節(jié)課我簡單給大家介紹一下art模式.
安卓手機從安卓4.2之后,大家在開發(fā)者選項里可能會看到一種新的虛擬機,這種虛擬機叫art虛擬機,叫art模式,之前給大家介紹的是dalvik虛擬機的好處,那這個art是什么東西呢?
一直以來,安卓系統(tǒng)就有一個缺點,就是運行速度比較慢,感覺沒有iOS流暢,一個是先天性的原因,最開始安卓系統(tǒng)是給數(shù)碼相機做的,它處理的優(yōu)先級比較高的是鍵盤的操作,后來觸摸屏才流行,安卓系統(tǒng)才開始支持這個觸摸屏系統(tǒng),所以它對觸摸事件響應(yīng)優(yōu)先級并不是最高的,而iOS最高的優(yōu)先級就是用來做圖形的顯示與用戶的交互,所以大家感覺iOS系統(tǒng)比安卓系統(tǒng)要流暢很多,不過谷歌已經(jīng)花大力氣,去解決這個問題了了.
安卓5.0,界面是非常流暢的,另外,從安卓4.2后,推出了一種新的模式,art模式,它是用來做什么操作的呢?
我們知道iOS是c++,object c,來進行編寫,c語言是一門底層的語言,而Java語言呢,稍微麻煩點,它得先變成字節(jié)碼,裝載到虛擬機里邊,才能執(zhí)行,它就多了一個裝載解析執(zhí)行的過程,這就導致了安卓代碼就比iOS的代碼運行速度就慢一點.
谷歌的art模式就是來解決這個問題的,所以art模式開啟之后呢,你這應(yīng)用程序在安裝過程中就會自動的把Java代碼全部翻譯成底層的機器語言.以后應(yīng)用程序再運行的話就沒有這個解析執(zhí)行的過程了,而是直接去執(zhí)行底層的機器語言,所以,art模式下應(yīng)用程序運行效率要提高一些.
谷歌為什么沒有大力去推這個art模式呢?而是把art模式隱藏到開發(fā)者選項里邊呢?主要是art模式目前并不是特別穩(wěn)定,應(yīng)用程序也沒有針對art模式做專門的優(yōu)化,另外,如果使用了art模式就會把應(yīng)用程序翻譯成機器碼,占用空間較大,另外呢,art模式耗電量稍微大一些,這個技術(shù)呢,未來再發(fā)展幾個版本后art虛擬機就會更加成熟起來.
不過大家不用擔心,對于我們程序員來講,你編寫的這個Java代碼,在dalvik虛擬機還是在art虛擬機里運行,對我們來說是透明的,這個過程是由操作系統(tǒng)實現(xiàn)的,你不需要擔心是dalvik還是art,你寫的代碼都是可以運行的.