安卓8.0來(lái)了 看看安卓怎樣在速度上追趕iOS
 一直以來(lái)人們都有這樣的印象,認(rèn)為搭載iOS系統(tǒng)的iPhone一定比搭載Android系統(tǒng)的安卓手機(jī)流暢。潛移默化中,不少果粉甚至是普通吃瓜群眾都形成了這樣的思維定式:安卓就是卡、慢的代名詞。然而,就是這樣一個(gè)群眾眼中的“卡、慢”的系統(tǒng),不知不覺(jué)間已經(jīng)走過(guò)了第十個(gè)年頭。這么多年過(guò)去了這個(gè)觀點(diǎn)還成立嗎?

  Android8.0不久前已經(jīng)發(fā)布了,盡管Android對(duì)比iOS似乎有“先天缺陷”,但一直以來(lái)谷歌都在不遺余力地提升安卓系統(tǒng)的流暢度。我們不妨來(lái)看看谷歌在這方面都做了哪些努力。

  Android4.1:黃油計(jì)劃

  2012年6月,Google I/O 2012開(kāi)發(fā)者大會(huì)上,谷歌發(fā)布了Android 4.1,該版本擔(dān)負(fù)著“承上啟下”的作用,4.1系統(tǒng)繼承了4.0的基本特性,又加入了Project Butter的新特性。Project Butter中文稱(chēng)為黃油計(jì)劃,Google希望新版的Android如黃油一般絲般潤(rùn)滑,所以稱(chēng)之為黃油。該系統(tǒng)使用了新的處理架構(gòu),讓Android設(shè)備中的雙核、四核處理器能夠得到優(yōu)化,發(fā)揮出強(qiáng)勁的性能。

  本文圖片來(lái)自The Verge

  其次,在4.1版本中,特效動(dòng)畫(huà)的幀速提高至60fps,優(yōu)化最佳性能和較低的觸摸延遲,提供了一個(gè)流暢、直觀的用戶界面。

  為了確保幀速一致,4.1版本的Android框架所有的繪圖和動(dòng)畫(huà)都將統(tǒng)一VSYNC計(jì)時(shí),應(yīng)用渲染、觸摸事件、畫(huà)面構(gòu)圖、顯示刷新等操作都會(huì)鎖定在16毫秒響應(yīng),所有的幀都沒(méi)有提前或者落后。此外,還新增三重影像緩沖技術(shù),讓所有的渲染感覺(jué)更順暢。觸摸延時(shí)不僅會(huì)遵循VSYNC計(jì)時(shí),還會(huì)在觸摸操作時(shí)做出預(yù)判是否要提前渲染,此外在CPU閑置時(shí)會(huì)分配更多的處理能力來(lái)應(yīng)對(duì)觸摸事件,確保觸摸沒(méi)有延遲。

  黃油項(xiàng)目(Project Butter)為我們帶來(lái)了Android系統(tǒng)的重大改進(jìn),谷歌終于開(kāi)始直面Android系統(tǒng)流暢度這個(gè)古老并重要的問(wèn)題了。

  Android4.4:對(duì)齊喚醒

  其實(shí),很多時(shí)候,安卓系統(tǒng)的卡頓并不是由系統(tǒng)本身造成的,而是由于安卓開(kāi)放的特性例如對(duì)第三方APP限制較少,所以很多APP長(zhǎng)期惡意在后臺(tái)運(yùn)行,定期喚醒系統(tǒng),隨著安裝的APP越來(lái)越多,各種APP會(huì)一窩蜂地喚醒系統(tǒng),而每次喚醒都會(huì)讓CPU處于高負(fù)荷運(yùn)轉(zhuǎn)狀態(tài),導(dǎo)致手機(jī)待機(jī)時(shí)也非常耗電。

  而4.4版本很明顯的針對(duì)這個(gè)問(wèn)題而做出了優(yōu)化,在該版本中加入了對(duì)齊喚醒功能,把原來(lái)需要分別在不同時(shí)間喚醒系統(tǒng)的多個(gè)APP集中在某個(gè)時(shí)間一次性喚醒。這樣,系統(tǒng)被喚醒的次數(shù)大幅減少,CPU也不用頻繁的工作,手機(jī)也就不會(huì)這么卡頓和耗電了。

  Android5.0:ART虛擬機(jī)

  一直以來(lái),Dalvik虛擬機(jī)背負(fù)著Android應(yīng)用卡頓的罪名,原因則是應(yīng)用在運(yùn)行的過(guò)程中,虛擬機(jī)Dalvik通過(guò)一個(gè)叫JIT(Just-in-time)的解釋器動(dòng)態(tài)的進(jìn)行編譯并執(zhí)行,這一過(guò)程也拖慢了運(yùn)行效率。而在5.0版本中,原有的Dalvik虛擬機(jī)被新的ART虛擬機(jī)代替。

  Android Runtime(縮寫(xiě)為 ART),是一種在Android操作系統(tǒng)上的運(yùn)行環(huán)境,由Google公司研發(fā)。ART能夠把應(yīng)用程序的字節(jié)碼轉(zhuǎn)換為機(jī)器碼,是Android所使用的一種新的虛擬機(jī)。它與Dalvik的主要不同在于:Dalvik采用的是JIT技術(shù),而ART采用Ahead-of-time(AOT)技術(shù),也就是預(yù)編譯技術(shù),安裝應(yīng)用的時(shí)候,代碼中的字節(jié)碼將被編譯成機(jī)器碼。而由于有了機(jī)器碼,下次打開(kāi)的時(shí)候就不需要再編譯了,這就提高了運(yùn)行效率,APP啟動(dòng)速度明顯加快。ART同時(shí)也改善了性能、垃圾回收(Garbage Collection)、提高續(xù)航能力、應(yīng)用程序除錯(cuò)以及性能分析。

  Android6.0:Doze嗜睡模式

  4.4的對(duì)齊喚醒已經(jīng)對(duì)后臺(tái)APP做出了一定限制,但是顯然對(duì)于那些“毒瘤APP”顯然是不夠的,為了杜絕“毒瘤”APP不斷在后臺(tái)消耗資源和電量,6.0版本加入了Doze嗜睡模式,在Doze模式中,系統(tǒng)嘗試去通過(guò)減少應(yīng)用的網(wǎng)絡(luò)訪問(wèn)和CPU敏感的服務(wù)來(lái)保護(hù)電池。它也阻止應(yīng)用通過(guò)訪問(wèn)網(wǎng)絡(luò),并且延緩應(yīng)用的任務(wù)、同步和標(biāo)準(zhǔn)alarms。

  同時(shí)系統(tǒng)定期退出Doze模式(maintenance window)去讓app完成他們被延緩的動(dòng)作。在maintenance window期間,系統(tǒng)運(yùn)行所有掛起的同步、任務(wù)和alarms,同時(shí)也能訪問(wèn)網(wǎng)絡(luò)。只要用戶通過(guò)移動(dòng)、點(diǎn)亮屏幕或則插上充電器喚醒設(shè)備的時(shí)候,系統(tǒng)會(huì)退出Doze模式,所有的APP退回到正?;顒?dòng)狀態(tài)。

  Android7.0:優(yōu)化系統(tǒng)代碼

  如果說(shuō)前幾代Android是在改善應(yīng)用環(huán)境,提升應(yīng)用體驗(yàn)的話,那么7.0版本就是優(yōu)化Android的運(yùn)行環(huán)境了,谷歌表示,7.0版本會(huì)是最具銷(xiāo)量的一代Android操作系統(tǒng),7.0版本主要通過(guò)減少代碼的形式來(lái)提升運(yùn)行速度,Android N的代碼減少了50%,新的代碼減少50%,軟件運(yùn)行速度提升幅度達(dá)到600%,應(yīng)用安裝提速75%。自從Android5.0換了ART虛擬機(jī)開(kāi)始,因?yàn)榘惭b時(shí)要對(duì)大量的代碼進(jìn)行預(yù)編譯,應(yīng)用安裝速度一直被用戶詬病,Google終于在Android7.0上解決了這一問(wèn)題。

  此外,7.0版本另一個(gè)優(yōu)化是,每次手機(jī)升級(jí)完系統(tǒng)之后不用等待漫長(zhǎng)的應(yīng)用優(yōu)化過(guò)程,直接就可以進(jìn)入系統(tǒng)。

  Android8.0:針對(duì)低配設(shè)備的AndroidGo,系統(tǒng)/應(yīng)用啟動(dòng)優(yōu)化

  8.0相對(duì)前幾個(gè)版本而言,沒(méi)有特別大的提升,畢竟Android已經(jīng)第十個(gè)年頭了,發(fā)展已經(jīng)非常的成熟。8.0版本主要是細(xì)節(jié)的優(yōu)化和體驗(yàn)的提升。8.0版本加入了TensorFlow Lite技術(shù),可以幫助低功耗設(shè)備跟上當(dāng)今高強(qiáng)度任務(wù)處理,利用新的神經(jīng)網(wǎng)絡(luò)API幫助底層芯片加速數(shù)據(jù)處理。這一功能有助于為下一代在線設(shè)備提高語(yǔ)音處理,視覺(jué)搜索,增強(qiáng)現(xiàn)實(shí)等能力。簡(jiǎn)而言之,就是一個(gè)內(nèi)置在系統(tǒng)的機(jī)器學(xué)習(xí)工具。

  同時(shí),8.0版本還針對(duì)應(yīng)用啟動(dòng)的進(jìn)程進(jìn)行優(yōu)化,包括并發(fā)進(jìn)程、壓縮收集的垃圾信息和代碼區(qū)域等。此外還有針對(duì)后臺(tái)服務(wù)的限制,防止應(yīng)用程序在后臺(tái)運(yùn)行太久。目標(biāo)是大大減少電池消耗。

  另外,針對(duì)配置較低的移動(dòng)設(shè)備,谷歌還推出了Android Go的系統(tǒng),它不是一個(gè)獨(dú)立分支的Android版本,而是隸屬于Android O,可以用于1GB RAM的設(shè)備上,例如為了節(jié)省性能,原來(lái)系統(tǒng)中吃?xún)?nèi)存的過(guò)渡動(dòng)畫(huà)被砍掉,同時(shí)還針對(duì)Android Go開(kāi)發(fā)適配版應(yīng)用,比如Youtube Go。如果你認(rèn)為這個(gè)系統(tǒng)只是做減法,那你就錯(cuò)了,在有些方面,谷歌甚至還為Android Go添加了功能,比如數(shù)據(jù)管理,這個(gè)對(duì)低端機(jī)來(lái)說(shuō)十分重要,谷歌會(huì)將這個(gè)功能添加到快捷設(shè)置中。該系統(tǒng)預(yù)計(jì)2018年正式面世。

  總結(jié)

  如今iOS 11也已經(jīng)發(fā)布了,從某些更新內(nèi)容來(lái)看,是對(duì)安卓功能的“借鑒”。所以安卓系統(tǒng)在功能性或者可玩性上甚至超過(guò)了iOS。由于底層系統(tǒng)的先天不足,導(dǎo)致流暢性在早期落后iOS很多,但隨著谷歌孜孜不倦地優(yōu)化與更新,Android在流暢性方面真的未必輸于iOS,卡頓、慢和耗電已經(jīng)逐漸成為歷史。所以,已經(jīng)存在大家腦海中10年的安卓“卡、慢、耗電”的標(biāo)簽,是時(shí)候該抹去了。

關(guān)鍵詞: 安卓 速度
圖片版權(quán)歸原作者所有,如有侵權(quán)請(qǐng)聯(lián)系我們,我們立刻刪除。
新化月報(bào)網(wǎng)報(bào)料熱線:886 2395@qq.com

相關(guān)文章

你可能會(huì)喜歡

最近更新

推薦閱讀