造物者之吻:中國(guó)手機(jī)“爆改安卓”的這些年

如果我們把時(shí)間倒回去智能手機(jī)剛興起的那幾年,回到iPhone早先幾代的時(shí)候。不知道大家是不是還記得這樣一個(gè)畫(huà)面?用蘋(píng)果的朋友會(huì)對(duì)安卓用戶(hù)說(shuō),安卓那么卡,我實(shí)在不知道怎么用。

那時(shí)候,蘋(píng)果還頻繁地與腎這個(gè)器官聯(lián)系在一起,安卓手機(jī)相對(duì)高端點(diǎn)的還是HTC和三星,魅族和小米才嶄露頭角。而安卓必然會(huì)變卡頓和緩慢,似乎是個(gè)常識(shí)問(wèn)題。為了解決這個(gè)它,網(wǎng)上流傳著各種安卓刷機(jī)教程、一大堆清理內(nèi)存的APP,以及無(wú)數(shù)《教你讓安卓不卡的10個(gè)絕招》這樣的文章。

滄海桑田,不過(guò)因循幾年。

讓我們回味一下今天,身邊還有因?yàn)榘沧靠D而堅(jiān)持不用安卓的嗎?即使偶爾有人發(fā)出這種聲音,似乎也馬上會(huì)被朋友回懟過(guò)去“你幾年不用國(guó)產(chǎn)手機(jī)了”?反而知乎和B站上,流傳著的是“給美國(guó)人安利EMUI”這樣的故事。

不經(jīng)意間,我們似乎已經(jīng)習(xí)慣了國(guó)產(chǎn)手機(jī)的高端定位,也很少有人還覺(jué)得安卓用幾個(gè)月就會(huì)卡到不能開(kāi)機(jī)。

但這一切到底是怎么發(fā)生的,可能大多數(shù)時(shí)候我們沒(méi)空回頭仔細(xì)琢磨。事實(shí)上,從移動(dòng)終端格局初現(xiàn),中國(guó)手機(jī)群落就一刻也沒(méi)有停止過(guò)對(duì)安卓的優(yōu)化和改進(jìn)。直至今天,我們會(huì)發(fā)現(xiàn)中國(guó)用戶(hù)享受的移動(dòng)終端體驗(yàn),幾乎已經(jīng)變成了“另一個(gè)物種”。

而這條“造物之路”并不好走。回顧這些年中國(guó)手機(jī)對(duì)安卓的一路“追打”,我們或許會(huì)驚覺(jué),原來(lái)這些年手機(jī)廠商、開(kāi)發(fā)者和萬(wàn)千用戶(hù)一起,完成了一件有點(diǎn)了不起的事情。

安卓的功也過(guò)也

原生安卓的卡頓問(wèn)題,是前些年移動(dòng)互聯(lián)網(wǎng)剛興起時(shí),硬件圈討論最多的話題。但是開(kāi)始回顧故事前,還是有必要再歸納一下安卓從誕生第一秒起就注定的是非功過(guò)。

2003年10月,Andy Rubin等人創(chuàng)建了安卓公司。從最開(kāi)始,這個(gè)項(xiàng)目就是希望在Linux基礎(chǔ)上打造一個(gè)有利于極客們隨意開(kāi)發(fā)的OS系統(tǒng)。

2005年,谷歌收購(gòu)了剛剛成立22個(gè)月的安卓,并在此后完成了這一項(xiàng)目的持續(xù)優(yōu)化與多邊測(cè)試。2007年,谷歌以Apache免費(fèi)開(kāi)源許可證的授權(quán)方式,發(fā)布了安卓源代碼。2008年,在蘋(píng)果正式改稱(chēng)IOS之后幾個(gè)月,對(duì)外發(fā)布了安卓1.0版本。

移動(dòng)終端最終只留下了iOS和安卓,有人認(rèn)為這是因?yàn)閮蓚€(gè)系統(tǒng)恰恰走向了兩個(gè)極端。與iOS一切都被框定,只能?chē)?yán)格按照蘋(píng)果的規(guī)矩來(lái)做開(kāi)發(fā)不同,安卓的最強(qiáng)優(yōu)勢(shì)就是它超強(qiáng)的靈活性與適應(yīng)能力。

它能適應(yīng)最低端的手機(jī)配置;把所有路徑對(duì)外開(kāi)放,哪怕一個(gè)網(wǎng)頁(yè)都能安裝應(yīng)用;簡(jiǎn)單的安卓開(kāi)發(fā),近乎可以速成。

客觀來(lái)說(shuō)正是這些特質(zhì),才使得智能手機(jī)興起之初,大量的手機(jī)廠商、應(yīng)用開(kāi)發(fā)者、互聯(lián)網(wǎng)創(chuàng)業(yè)者,以及大多數(shù)不想賣(mài)腎換手機(jī)的用戶(hù),能夠進(jìn)入智能移動(dòng)終端這個(gè)新世界。

但是成也開(kāi)放,病也開(kāi)放。安卓就像修建了一座足夠廣闊的城市,但是從設(shè)計(jì)之初就沒(méi)打算在城市里安置任何市政管理系統(tǒng)。車(chē)隨便進(jìn),人隨便住,垃圾隨便堆,最終導(dǎo)致了安卓廣為詬病的“必卡”問(wèn)題。

綜合來(lái)看,從技術(shù)規(guī)則上有三件事決定了安卓一直為人詬病的緩慢和卡頓:1無(wú)節(jié)制開(kāi)放的應(yīng)用接口,導(dǎo)致安卓更可能加載垃圾軟件;2每個(gè)應(yīng)用的緩存文件都在安卓系統(tǒng)中進(jìn)行堆積,造成系統(tǒng)會(huì)越用越卡頓;3安卓執(zhí)行Java代碼,采用的虛擬機(jī)轉(zhuǎn)換機(jī)制,導(dǎo)致應(yīng)用的運(yùn)行速度緩慢。

這三個(gè)“原罪”式的問(wèn)題,雖然在安卓的歷次更新中得到了大幅度緩解,但在本質(zhì)上并沒(méi)有解決。

好在這不是安卓故事的終點(diǎn),而是中國(guó)軟件工作者的起點(diǎn)。

開(kāi)啟中國(guó)式交互

雖然安卓的卡頓問(wèn)題從來(lái)都是“第一黑點(diǎn)”,但中國(guó)開(kāi)發(fā)者對(duì)安卓做的第一件事并不是解決卡頓,而是改變交互。

客觀來(lái)說(shuō),谷歌發(fā)布的原生安卓是有自己的交互理解和審美設(shè)計(jì)的,然而其確實(shí)更加符合歐美用戶(hù)一貫的審美體驗(yàn)。另一個(gè)安卓的問(wèn)題在于,中國(guó)用戶(hù)是連接不上大量谷歌服務(wù)的。手機(jī)廠商必須給微信、淘寶、O2O這類(lèi)“中國(guó)式移動(dòng)服務(wù)”安排好入口。

于是從2010年開(kāi)始,手機(jī)廠商陸續(xù)踏上了深度定制安卓交互的道路。其中最有名的商業(yè)案例,是從MIUI起家的小米。MIUI率先取消了安卓的應(yīng)用抽屜設(shè)計(jì),將其改為類(lèi)似iOS的桌面平鋪設(shè)計(jì)。搭配簡(jiǎn)練精美的設(shè)計(jì)語(yǔ)言,奠定了中國(guó)用戶(hù)獨(dú)特的安卓習(xí)慣和交互審美理解。

當(dāng)然,中國(guó)手機(jī)改變安卓交互也不是只有MIUI一種模式,比如主打海外市場(chǎng)的一加,就采取了盡量貼合原生安卓設(shè)計(jì)的定制模式。此后,深度定制的UI系統(tǒng)開(kāi)始成為安卓陣營(yíng)國(guó)產(chǎn)手機(jī)的標(biāo)配,讓國(guó)產(chǎn)手機(jī)從系統(tǒng)外觀上就變成了獨(dú)立的物種。

這可能是大部分用戶(hù)都能直觀感覺(jué)到的安卓變遷史。但在這之后,國(guó)產(chǎn)手機(jī)“爆改安卓”之路開(kāi)始走向了關(guān)鍵問(wèn)題——卡頓,終究是用戶(hù)體驗(yàn)的死敵。

華為的深層行動(dòng)

如果說(shuō),安卓手機(jī)在中國(guó)市場(chǎng)的崛起,與改造交互設(shè)計(jì)密不可分。那么華為的近幾年的強(qiáng)勢(shì)崛起和走向高端化,則始終伴隨著另一條主線:對(duì)安卓進(jìn)行系統(tǒng)級(jí)的深層改造。

這個(gè)行動(dòng)開(kāi)啟于2016年,伴隨著Mate 9發(fā)布的EMUI 5.0中,有一個(gè)十分直接的能力,叫做“天生快一生快”。當(dāng)時(shí)華為為此給出了一個(gè)著名的承諾:安卓18個(gè)月不卡頓。

上文已經(jīng)說(shuō)過(guò),安卓的卡頓主要來(lái)自各個(gè)應(yīng)用會(huì)帶來(lái)大量碎片化文件。由于安卓是直接架構(gòu)在Linux基礎(chǔ)上的,其文件系統(tǒng)在最初并沒(méi)有考慮碎片文件的快速回收。而安卓又可以隨意安裝應(yīng)用,這就導(dǎo)致每個(gè)應(yīng)用的緩存、副本都會(huì)產(chǎn)生大量文件碎片,最終把文件系統(tǒng)堵死,造成卡頓,這也就是那幾年我們已經(jīng)習(xí)慣要經(jīng)常清理文件碎片的原因。

這是當(dāng)時(shí)安卓最大的槽點(diǎn),也是華為在開(kāi)啟高端化戰(zhàn)略時(shí),必須在基礎(chǔ)軟件層面解決的首要問(wèn)題。最終華為的解決方案,是把安卓原生的文件系統(tǒng),由EXT格式換成F2FS格式,從而使手機(jī)可以極大程度上避免文件碎片。

F2FS格式最開(kāi)始是三星一位技術(shù)人員發(fā)明并開(kāi)源的,但是出于各種原因,三星并沒(méi)有敢于直接替換安卓的文件系統(tǒng)。而這個(gè)好比器官移植的“安卓手術(shù)”,卻在華為數(shù)百人團(tuán)隊(duì)的努力下,在中國(guó)做成了。

最終結(jié)果,是從EMUI 5.0開(kāi)始,用戶(hù)就可以不再手動(dòng)清理碎片文件。當(dāng)年我們習(xí)以為常的動(dòng)作,如今已經(jīng)成了可笑的往事。

吃了一次“深度改動(dòng)安卓”甜頭之后,華為又屢次對(duì)安卓“下手”。比如去年我們非常熟悉的兩個(gè)turbo。GPU turbo在安卓的圖形中間件、內(nèi)存管理、進(jìn)程管理上進(jìn)行了一系列優(yōu)化;而Link turbo,改動(dòng)了安卓的通信模塊、連接模塊。

至此,華為對(duì)安卓的優(yōu)化應(yīng)該說(shuō)已經(jīng)走到了相當(dāng)深層的位置。而從P30系列發(fā)布以來(lái),眾多開(kāi)發(fā)者開(kāi)始關(guān)注一個(gè)新名詞:方舟編譯器。

它之所以引發(fā)了滔滔江水般的討論,原因在于編譯器這東西,已經(jīng)不僅是在修改安卓某一部分,而是直接作用于安卓的底層規(guī)則。

從特性到規(guī)則:方舟編譯器觸發(fā)了什么?

大部分消費(fèi)者可能不知道的是,安卓會(huì)卡和安卓會(huì)慢,其實(shí)還不是一件事。

即使文件垃圾并沒(méi)有堆滿安卓的“倉(cāng)庫(kù)”,我們也依然會(huì)覺(jué)得安卓打開(kāi)復(fù)雜的APP或者同時(shí)加載大量文件時(shí),反應(yīng)效率明顯不如iOS。

這個(gè)問(wèn)題的原因,就在于上面所說(shuō)的,安卓系統(tǒng)在執(zhí)行Java指令的時(shí)候,需要進(jìn)行虛擬機(jī)轉(zhuǎn)換。所謂虛擬機(jī),可以理解為程序員所用語(yǔ)言,與安卓理解的機(jī)器語(yǔ)言之間存在著一層翻譯。翻譯當(dāng)然也沒(méi)有什么不好,但是如果在啟動(dòng)應(yīng)用的同時(shí)進(jìn)行翻譯,那顯然就會(huì)浪費(fèi)眾多時(shí)間。這就好比兩人聊天時(shí),加一位翻譯問(wèn)題不大。但如果在足球比賽里,兩名球員要通過(guò)場(chǎng)邊的翻譯進(jìn)行傳話,那就什么配合都甭想了。

既然虛擬機(jī)機(jī)制如此浪費(fèi)時(shí)間,為什么還要用它呢?答案在于安卓是應(yīng)用Java語(yǔ)言開(kāi)發(fā)的,而為了讓開(kāi)發(fā)更方便,Java在最初設(shè)計(jì)時(shí)就加入了一層虛擬機(jī)設(shè)置。無(wú)論在什么硬件上進(jìn)行的編程,最后統(tǒng)一打到虛擬機(jī)去處理,這樣就讓開(kāi)發(fā)者有了很好的適配靈活性。

但是這個(gè)設(shè)置,如果是在爭(zhēng)分奪秒的手機(jī)體驗(yàn)中,一遍翻譯一遍執(zhí)行的模式,就會(huì)變得異常累贅。尤其是今天的安卓應(yīng)用,實(shí)際上往往是Java和C語(yǔ)言混合開(kāi)發(fā),兩種語(yǔ)言在執(zhí)行層相互轉(zhuǎn)換,又會(huì)浪費(fèi)大量的時(shí)間。

這個(gè)看似兩難的問(wèn)題,解決思路其實(shí)非?!昂?jiǎn)單粗暴”。華為給出的答案是,可以直接在開(kāi)發(fā)層,通過(guò)編譯器把應(yīng)用直接轉(zhuǎn)成機(jī)器碼。咱們干脆把虛擬機(jī)扔掉就完了。

事實(shí)上,谷歌也早就意識(shí)到了安卓這個(gè)層面的問(wèn)題,在安裝5.0之后,已經(jīng)針對(duì)編譯做了很多優(yōu)化,但依舊存在不少問(wèn)題。而方舟編譯器,則從基礎(chǔ)規(guī)則上解決了轉(zhuǎn)碼的負(fù)擔(dān),讓安卓系統(tǒng)的流暢度提升了24%,讓EMUI 9.1在流暢度層面絲毫不遜于iOS。

這個(gè)改變聽(tīng)上去很輕松,有種“一招斃敵”的爽快感。然而底層編譯器卻是軟件層面最復(fù)雜的工作之一。為了能夠真正在“安卓的靈魂處動(dòng)刀”,華為從09年就開(kāi)始準(zhǔn)備,2013年就開(kāi)發(fā)了自研編譯器HCC。2014年,華為以“多顧茅廬”之勢(shì),請(qǐng)來(lái)了編譯器領(lǐng)域世界最著名專(zhuān)家之一Fred Chow,擔(dān)任華為編譯器技術(shù)首席科學(xué)家。坊間流傳,全球能在底層改動(dòng)安卓的人不到五個(gè),而Fred Chow是其中之一。

就這樣,華為2012實(shí)驗(yàn)室加上軟件工程部的數(shù)百位研發(fā)人員的漫漫十年征程,最終換來(lái)了將要開(kāi)源給全球開(kāi)發(fā)者的方舟編譯器。

故事到這里,某種程度上來(lái)說(shuō)中國(guó)的軟件開(kāi)發(fā)者們,已經(jīng)不僅僅是安卓的使用者,而是它的造物者。

當(dāng)然,故事并不打算就此結(jié)束。

今天是終點(diǎn)嗎?

華為消費(fèi)者BG軟件部總裁王成錄博士認(rèn)為,優(yōu)化安卓依舊沒(méi)有結(jié)束。

而下一步,或許將是開(kāi)發(fā)者可以跳過(guò)中間層,直接將應(yīng)用連接于安卓底層庫(kù),實(shí)現(xiàn)極簡(jiǎn)的個(gè)性化開(kāi)發(fā)。

在手機(jī)市場(chǎng)的“后半場(chǎng)”,越來(lái)越少看到“巧計(jì)取勝”的案例。而留下的,更多是技術(shù)深度和技術(shù)壁壘。

圍繞安卓這條線,華為為代表的國(guó)產(chǎn)手機(jī),接下來(lái)至少要做兩件事:一是繼續(xù)深化對(duì)安卓的優(yōu)化改造,甚至通過(guò)大量技術(shù)貢獻(xiàn)反向影響安卓的大版本更新,成為主航道的制定者;二是繞開(kāi)安卓“必須適配每一臺(tái)手機(jī)”的特性,在其他賽道上做出差異化升級(jí)。今天來(lái)看,這種升級(jí)主要圍繞三個(gè)方向發(fā)生:云端一體化體驗(yàn)、AI功能和泛IoT聯(lián)接。

而對(duì)于華為這樣的大玩家來(lái)說(shuō),更進(jìn)一步的題中應(yīng)有之義,是通過(guò)從OS層到基礎(chǔ)軟件,再到芯片架構(gòu),在每一層都擁有足夠的自主話語(yǔ)權(quán),疊加在一起構(gòu)成了華為未來(lái)圍繞移動(dòng)終端,可以打出新的戰(zhàn)略可能性——在華為將目標(biāo)定為全球頂端的時(shí)候,這是一條必須修筑的道路。

今天我們很可能會(huì)忽略,安卓這個(gè)詞其實(shí)跟AI有密不可分的關(guān)系。1886年,法國(guó)作家維里耶德利爾·亞當(dāng)在其創(chuàng)作的小說(shuō)《未來(lái)夏娃》里,給外表像人的機(jī)器人女孩起名叫做Android。

書(shū)中“安卓”經(jīng)歷了一次次蛻變,最終接近于男主人公夢(mèng)中情人的樣子。

顯然,過(guò)去被冠以“窮人才用安卓”的操作系統(tǒng),實(shí)在不像書(shū)中的安卓小姐。好在就像書(shū)中的情節(jié)一樣,安卓在現(xiàn)實(shí)里也沒(méi)有停止進(jìn)化。它過(guò)去不如人意,未必將來(lái)也是如此。

就像曾經(jīng)中國(guó)在操作系統(tǒng)上是失語(yǔ)的,但未必將來(lái)也是如此。若干年過(guò)去,華為已經(jīng)成為了世界上為安卓貢獻(xiàn)最多的開(kāi)發(fā)者之一,未來(lái),誰(shuí)又知道呢?

安卓女士自機(jī)器之夢(mèng)中醒來(lái),會(huì)源于造物者的親吻。

免責(zé)聲明:此文內(nèi)容為第三方自媒體作者發(fā)布的觀察或評(píng)論性文章,所有文字和圖片版權(quán)歸作者所有,且僅代表作者個(gè)人觀點(diǎn),與極客網(wǎng)無(wú)關(guān)。文章僅供讀者參考,并請(qǐng)自行核實(shí)相關(guān)內(nèi)容。投訴郵箱:editor@fromgeek.com。

免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書(shū)面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開(kāi)相關(guān)鏈接。

2019-05-05
造物者之吻:中國(guó)手機(jī)“爆改安卓”的這些年
事實(shí)上,從移動(dòng)終端格局初現(xiàn),中國(guó)手機(jī)群落就一刻也沒(méi)有停止過(guò)對(duì)安卓的優(yōu)化和改進(jìn)。

長(zhǎng)按掃碼 閱讀全文