Android 7.0應(yīng)用安裝速度為什么那么快?

去年三月份,Google發(fā)布了首個(gè)Android 7.0(Android Nougat)測試版,五月份發(fā)布正式版,雖然至今Android 7.0不足5%的市場占有率,足以讓蘋果笑掉大牙,但是隨著三四月份新機(jī)扎堆發(fā)布,Android 7.0肯定會迎來一波爆發(fā)?;蛟S你會問,Android 7.0有什么好的,我現(xiàn)在用6.0穩(wěn)定得很呢,倒還真有一個(gè)能讓你有真切感受的變化,用我們小超哥的話講就是“震驚!Android 7.0應(yīng)用安裝速度飆升666%!”,你還別不信,先看看小超哥做的一個(gè)與Android 6.0的對比視頻:
Android 7.0與Android 6.0應(yīng)用安裝速度對比
視頻中用的測試手機(jī)為Nexus 5X,在Android 6.0中,安裝同一版本的手機(jī)淘寶用時(shí)28秒,升級到Android 7.0后,安裝手機(jī)淘寶僅用時(shí)14秒,請問你震驚了嗎?
下次有基友或妹子問你Android 7.0有什么好的時(shí)候,你完全可以大膽告訴他們,Android 7.0的軟件安裝速度快了一倍啦~~~~不信你上超能網(wǎng)看看對比視頻,萬一妹子驚呆了,追問一句,怎么會快這么多呢,你肯定不能回答不知道吧,所以我軍從不打無準(zhǔn)備之仗,要做一個(gè)脫離低級趣味一個(gè)有益于人民一個(gè)BIGGER滿滿的人,你必須往下看。
Android 4.4時(shí)的JIT解決方案
故事還得回到幾年前,還是Android 4.4的時(shí)代,那時(shí)Android還是用的Dalvik虛擬機(jī),配合的是JIT編譯器(Just In Time,即時(shí)編譯器),其實(shí)Google在Android 2.2時(shí)就添加了JIT。當(dāng)APP運(yùn)行時(shí),JIT編譯器就會對新類進(jìn)行編譯,經(jīng)過編譯后的代碼,會被優(yōu)化成相當(dāng)精簡的原生型指令碼,這樣在下次執(zhí)行到相同邏輯的時(shí)候,速度就會更快。
JIT是在運(yùn)行時(shí)編譯,優(yōu)缺點(diǎn)很明顯,安裝速度快占用存儲空間小,主要問題是在運(yùn)行時(shí)編譯開銷大,容易造成卡頓,所以在這之后,Google果斷壯士斷腕,在Android 5.0和Android 6.0中放棄了Dalvik轉(zhuǎn)投ART(Android Runtime)虛擬機(jī)懷抱,編譯策略也棄JIT改用AOT(Ahead Of Time)方案。
Android 6.0采用了AOT編譯方案
ART的策略與Dalvik不同,應(yīng)用在第一次安裝的時(shí)候,字節(jié)碼就會預(yù)先編譯成原生型指令碼,使其成為真正的本地應(yīng)用。以后運(yùn)行APP時(shí),不需要再進(jìn)行編譯,啟動速度和運(yùn)行速度都提高了,也就不那么卡頓了。
但是這種方案也有明顯缺點(diǎn),就是在安裝中要全面預(yù)編譯,安裝時(shí)間難免長,而且會消耗掉更多的存儲空間,根據(jù)我們的測試,手機(jī)淘寶這個(gè)APP在Android 6.0系統(tǒng)中應(yīng)用存儲大小為171MB,在Android 4.4系統(tǒng)中占用為154MB,相當(dāng)于占用空間多了10%。截圖就不貼了,有興趣的朋友可找小超哥(微信9501417)索取。
在Android 7.0中,Google進(jìn)一步改進(jìn)了編譯策略,這次他直接來了個(gè)Hybrid Mode,也就是AOT + JIT混合模式,糅合了兩者的優(yōu)點(diǎn):
Android 7.0的編譯策略
Google是這么說的:Android 7.0添加了一個(gè)JIT編譯器與代碼分析到ART,JIT編譯器是對ART當(dāng)前的AOT編譯器的一個(gè)補(bǔ)充,提高運(yùn)行時(shí)性能,節(jié)省存儲空間,加快應(yīng)用程序更新和系統(tǒng)更新。
在Android 7.0中,安裝應(yīng)用時(shí)不再像6.0那樣對應(yīng)用代碼進(jìn)行完整的預(yù)編譯,而是會根據(jù)JIT編譯器的分析結(jié)果,在設(shè)備充電或其余空閑時(shí)間對“cold code”進(jìn)行解釋,對于“hot code”,則在實(shí)際使用時(shí)由JIT進(jìn)行編譯,因此應(yīng)用安裝時(shí)間和占用空間大大減少了,像手機(jī)淘寶這個(gè)APP在Android 7.0系統(tǒng)中的占用大小為156MB,和Android 4.4系統(tǒng)中非常接近。主要的是,它還不會影響到應(yīng)用的運(yùn)行速度。
Android 7.0中的JIT架構(gòu) - 它是如何工作的
總結(jié)一下,在Android 7.0,采用了AOT + JIT混合編譯策略,帶來的好處如下:
﹒APP安裝時(shí)間大幅縮短,只有Android 6.0系統(tǒng)的50%;
﹒系統(tǒng)升級OTA速度加快,不再需要優(yōu)化;
﹒應(yīng)用占用空間更少,一般會少10%;
﹒降低系統(tǒng)開銷,改善電池消耗。
相關(guān)閱讀:
國行S7/S7 Edge Android 7.0正式推送:體驗(yàn)性能大提升
哪些手機(jī)能升級安卓7.0?這些國行機(jī)能升級Android 7.0
相關(guān)文章
除了小米5c之外 還有哪些機(jī)型能夠升級Android 7.0?
手機(jī)的系統(tǒng)總是在不斷的升級,越高版本的系統(tǒng)手機(jī)的功能就越好用,安卓發(fā)布了7.0的系統(tǒng),你的手機(jī)系統(tǒng)升級了嗎?對于米粉來說,除了小米5c之外,還有哪些機(jī)型能夠升級Android 72017-03-17國行S7/S7 Edge Android 7.0正式推送:體驗(yàn)性能大提升
農(nóng)歷春節(jié)前,三星官方就表示會在2月下旬推送三星S7和S7 Edge國行版本的安卓7.0更新,今天上午國行Galaxy S7、S7 Edge終于收到了Android 7.0的正式推送,本次升級最大的特色自2017-03-07三星S7 Edge升級Android 7.0續(xù)航測試:明顯下降
三星為旗下Galaxy S7系列手機(jī)推出了Android 7.0(Nougat)升級更新。經(jīng)過測試搭載三星Exynos 8890和高通驍龍820處理器的Galaxy S7 Edge手機(jī),對比該手機(jī)在Android 6.0和And2017-02-06哪些手機(jī)能升級安卓7.0?這些國行機(jī)能升級Android 7.0
三星表示,三星電子已經(jīng)開始在全球開啟蓋樂世S7/S7edge升級推送工作,具體每個(gè)國家和地區(qū)的升級時(shí)間有所不同,那么哪些手機(jī)能升級安卓7.0?下面這些國行機(jī)能升級Android 7.02017-01-26- 從昨天開始,旗下的P9和P9 Plus開始全網(wǎng)推送EMUI 5.0升級,升級之后系統(tǒng)內(nèi)核會變成Android 7.0.那么華為P9/Plus如何升級Android 7.0?那些還沒有收到推送的用戶,可以直接通2017-01-19
小米5 Android 7.0升級初體驗(yàn):速度非???/a>
本月中旬,MIUI論壇產(chǎn)品發(fā)布板塊出現(xiàn)了小米手機(jī)5 Android 7.0 N內(nèi)測招募貼。23日晚,小米正式放出了小米5 Android 7.0版MIUI 8的內(nèi)側(cè)刷機(jī)包,下面小編為大家?guī)硇∶? Andr2016-11-29小米5 Android 7.0體驗(yàn)版發(fā)布:只剩下線刷包
昨天晚上小米官方已經(jīng)正式放出了內(nèi)測刷機(jī)包,本次放出的刷機(jī)包有卡刷包和線刷包兩個(gè),不過發(fā)布后不久卡刷包就被發(fā)現(xiàn)了問題,所以被緊急撤回,只剩下了線刷2016-11-24三星Galaxy S7 Edge升級Android 7.0體驗(yàn):煥然一新
由于三星Note7意外退市,所以三星S7和S7 Edge依然目前的三星旗艦手機(jī),現(xiàn)在國行三星S7和三星S7 Edge的安卓7.0固件版本已經(jīng)開始內(nèi)測了。下面小編為大家?guī)砣荊alaxy S7 Ed2016-11-20安卓7.0正式版OTA鏡像下載 Android 7.0刷機(jī)教程
今日谷歌開始向Nexus設(shè)備推送Android 7.0 Nougat牛軋?zhí)钦桨?,可通過OTA渠道升級的設(shè)備有:Nexus 6, Nexus 5X, Nexus 6P, Nexus 9, Nexus Player和Pixel C,下面就來看看2016-08-23Android7.0效率史上最高 應(yīng)用運(yùn)行速度飆升600%!
Google I/O 2016開發(fā)者大會上,Android N正式揭開了其神秘面紗,按照慣例它應(yīng)該會成為Android 7.0,Android7.0效率史上最高,需要的朋友可以參考下2016-05-19