溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何分析Android4.4的ART機(jī)制

發(fā)布時(shí)間:2022-01-15 09:49:06 來源:億速云 閱讀:161 作者:柒染 欄目:移動(dòng)開發(fā)

這篇文章跟大家分析一下“如何分析Android4.4的ART機(jī)制”。內(nèi)容詳細(xì)易懂,對(duì)“如何分析Android4.4的ART機(jī)制”感興趣的朋友可以跟著小編的思路慢慢深入來閱讀一下,希望閱讀后能夠?qū)Υ蠹矣兴鶐椭O旅娓【幰黄鹕钊雽W(xué)習(xí)“如何分析Android4.4的ART機(jī)制”的知識(shí)吧。

512MB 內(nèi)存就可以流暢運(yùn)行Android4.4?

Android 4.1的“黃油計(jì)劃”使系統(tǒng)和應(yīng)用運(yùn)行都更加順暢,而Android 4.2的“Project Svelte”提升了內(nèi)存管理,使得系統(tǒng)能夠順利運(yùn)行在硬件配置低端的設(shè)備上。

但是,所有這些都沒有解決核心問題,那就是應(yīng)用運(yùn)行環(huán)境。Dalvik VM效率并不是***的。從Android 4.2開始,Google  開發(fā)者引進(jìn)了新的Android運(yùn)行環(huán)境ART(意思就是Android  Runtime。Android官方頁面的介紹中,也將其稱作新的虛擬機(jī)),以替代舊的Dalvik  VM。它現(xiàn)在是實(shí)驗(yàn)選項(xiàng),系統(tǒng)默認(rèn)的運(yùn)行環(huán)境仍然是Dalvik。ART會(huì)為Android帶來怎樣的改變?

ART的機(jī)制與Dalvik不 同。在Dalvik下,應(yīng)用每次運(yùn)行的時(shí)候,字節(jié)碼都需要通過即時(shí)編譯器轉(zhuǎn)換為機(jī)器碼,這會(huì)拖慢應(yīng)用的運(yùn)行效率,而在ART環(huán)境中,應(yīng)用在***次安裝的時(shí) 候,字節(jié)碼就會(huì)預(yù)先編譯成機(jī)器碼,使其成為真正的本地應(yīng)用。這個(gè)過程叫做預(yù)編譯(AOT,Ahead-Of-Time)。這樣的話,應(yīng)用的啟動(dòng)和執(zhí)行都會(huì) 變得更加快速。

根據(jù)一些基準(zhǔn)測(cè)試,新的運(yùn)行環(huán)境能夠使大多數(shù)應(yīng)用的執(zhí)行時(shí)間減半。這意味著,CPU  消耗大、運(yùn)行時(shí)間長(zhǎng)的應(yīng)用能夠更加快速地完成,而一般的應(yīng)用也能更加流暢,比如動(dòng)畫效果更順暢,觸控反饋更加即時(shí)。在多核處理器的設(shè)備上,多數(shù)情況下只需 激活少量的核心,或者能夠更好的利用ARM的big.LITTLE架構(gòu)。另外,它將會(huì)顯著提升電池的續(xù)航能力以及系統(tǒng)的性能。

預(yù)編譯也會(huì)帶來 一些缺點(diǎn)。一方面,機(jī)器碼占用的存儲(chǔ)空間更大。字節(jié)碼變?yōu)闄C(jī)器碼之后,可能會(huì)增加10%-20%,不過在應(yīng)用包中,可執(zhí)行的代碼常常只是一部分。比如*** 的Google+  APK是28.3MB,但是代碼只有6.9MB。另一方面,應(yīng)用的安裝時(shí)間會(huì)變長(zhǎng)。至于延長(zhǎng)多少時(shí)間,取決于應(yīng)用本身,一些復(fù)雜的應(yīng)用如Facebook 和Google+會(huì)讓你等待更長(zhǎng)時(shí)間。

總的來說,ART的優(yōu)點(diǎn)還是遠(yuǎn)遠(yuǎn)超越其缺點(diǎn)的。畢竟,影響用戶體驗(yàn)的要素中,電池續(xù)航和應(yīng)用順暢運(yùn)行更為重要。我們?nèi)匀徊恢繟RT何時(shí)能夠替代Dalvik,不過AndroidPolice網(wǎng)站說,Google已經(jīng)秘密開發(fā)了兩年之久。Android擺脫卡頓的希望,看來就是它了。

如何分析Android4.4的ART機(jī)制

Android4.4搭A(yù)RT可擺脫卡頓

與 iOS 相比,Android 的用戶體驗(yàn)有個(gè)相對(duì)糟糕的開始。在很長(zhǎng)的時(shí)間里,界面一直丑小鴨,卡頓也是揮不去的痛。不過,在 Google 的全力推動(dòng),以及硬件廠商的響應(yīng)下,Android 還是跨越各種阻礙,逐漸壯大起來了。

在此過程中,Google 也在經(jīng)歷著重大的變化。它逐漸從一個(gè)只重視數(shù)據(jù)的公司,轉(zhuǎn)變?yōu)橐粋€(gè)重視設(shè)計(jì)和用戶體驗(yàn)的公司。從 Android 4.0  開始,Android 擁有了自己的設(shè)計(jì)語言和應(yīng)用設(shè)計(jì)指導(dǎo)。與此同時(shí),Google 也在著手解決卡頓問題。Android 4.1  的“黃油計(jì)劃”,Android 4.3 的 TRIM 支持,都顯著提高了系統(tǒng)運(yùn)行的順暢度,而 Android 4.4 的“Project  Svelte”提升了內(nèi)存管理,使得系統(tǒng)能夠順利運(yùn)行在硬件配置低端的設(shè)備上。

不過,要解決應(yīng)用卡頓,還是要針對(duì)核心問題下手,就是應(yīng)用運(yùn)行環(huán)境。Dalvik VM 效率并不是最高的。從 Android 4.4  開始,Google 開發(fā)者引進(jìn)了新的 Android 運(yùn)行環(huán)境 ART(意思就是 Android Runtime。Android  官方頁面的介紹中,也將其稱作新的虛擬機(jī)),以替代舊的 Dalvik VM。它現(xiàn)在是實(shí)驗(yàn)選項(xiàng),系統(tǒng)默認(rèn)的運(yùn)行環(huán)境仍然是 Dalvik。ART 會(huì)為  Android 帶來怎樣的改變?AndroidPolice 網(wǎng)站對(duì)此進(jìn)行了分析。

ART 的機(jī)制與 Dalvik 不同。在 Dalvik  下,應(yīng)用每次運(yùn)行的時(shí)候,字節(jié)碼都需要通過即時(shí)編譯器轉(zhuǎn)換為機(jī)器碼,這會(huì)拖慢應(yīng)用的運(yùn)行效率,而在 ART  環(huán)境中,應(yīng)用在第一次安裝的時(shí)候,字節(jié)碼就會(huì)預(yù)先編譯成機(jī)器碼,使其成為真正的本地應(yīng)用。這個(gè)過程叫做預(yù)編譯(AOT,Ahead-Of-Time)。這 樣的話,應(yīng)用的啟動(dòng)和執(zhí)行都會(huì)變得更加快速。

根據(jù)一些基準(zhǔn)測(cè)試,新的運(yùn)行環(huán)境能夠使大多數(shù)應(yīng)用的執(zhí)行時(shí)間減半。這意味著,CPU  消耗大、運(yùn)行時(shí)間長(zhǎng)的應(yīng)用能夠更加快速地完成,而一般的應(yīng)用也能更加流暢,比如動(dòng)畫效果更順暢,觸控反饋更加即時(shí)。在多核處理器的設(shè)備上,多數(shù)情況下只需 激活少量的核心,或者能夠更好的利用 ARM 的 big.LITTLE 架構(gòu)。另外,它將會(huì)顯著提升電池的續(xù)航能力以及系統(tǒng)的性能。

關(guān)于如何分析Android4.4的ART機(jī)制就分享到這里啦,希望上述內(nèi)容能夠讓大家有所提升。如果想要學(xué)習(xí)更多知識(shí),請(qǐng)大家多多留意小編的更新。謝謝大家關(guān)注一下億速云網(wǎng)站!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI