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

原標(biāo)題:造物者之吻:中國手機(jī)“爆改安卓”的這些年

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

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

滄海桑田,不過因循幾年。

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

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

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

而這條“造物之路”并不好走?;仡欉@些年中國手機(jī)對安卓的一路“追打”,我們或許會驚覺,原來這些年手機(jī)廠商、開發(fā)者和萬千用戶一起,完成了一件有點了不起的事情。

安卓的功也過也

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

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

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

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

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

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

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

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

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

好在這不是安卓故事的終點,而是中國軟件工作者的起點。

開啟中國式交互

雖然安卓的卡頓問題從來都是“第一黑點”,但中國開發(fā)者對安卓做的第一件事并不是解決卡頓,而是改變交互。

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

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

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

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

華為的深層行動

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

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

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

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

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

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

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

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

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

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

大部分消費者可能不知道的是,安卓會卡和安卓會慢,其實還不是一件事。

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

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

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

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

這個看似兩難的問題,解決思路其實非?!昂唵未直薄HA為給出的答案是,可以直接在開發(fā)層,通過編譯器把應(yīng)用直接轉(zhuǎn)成機(jī)器碼。咱們干脆把虛擬機(jī)扔掉就完了。

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

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

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

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

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

今天是終點嗎?

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

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

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

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

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

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

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

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

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

安卓女士自機(jī)器之夢中醒來,會源于造物者的親吻。

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

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

長按掃碼 閱讀全文