11
本文作者: 六爺 | 2015-06-23 09:00 |
“底層”其實是個很模糊的概念,所以即使知道Android采用了分層架構,我們也很難判斷手機廠商所謂的“底層優(yōu)化”具體所指。因為僅從字面理解,它可以是絕對的底層——Linux核心層,也可以是相對的底層——應用程序框架層、系統(tǒng)運行庫層和Linux核心層。
如果對“底層優(yōu)化”這四個字刨根問底,那會是個很有技術難度的問題。這不禁讓人思考為何手機廠商會如此頻繁地提及這個概念,身為技術小白的同事對此表示:“也許是因為‘底層優(yōu)化’聽上去真的很像從根本上解決問題吧?!?/p>
如果從產品的維度來考量,到目前為止iPhone依然是綜合表現(xiàn)最好的智能手機。但值得一提的是,在強大的Android陣營中,即使眾廠商都曾站在同一條起跑線上(原生Android),現(xiàn)如今也有人已經(jīng)走得很遠。
當雷鋒網(wǎng)編輯試圖追溯當初第三方OS在中國爆發(fā)的契機時,原點心OS的產品運營總監(jiān)李俊表示:“Android最開始的版本太差了。”造成這種局面的原因有很多,最重要的兩點莫過于Google退出中國市場,以及Android的設計初衷。
一方面,Android與iOS很大的一個區(qū)別是:在Android的生態(tài)中,手機廠商基本上都是“第三方”。所以在適配硬件的過程中,不同廠商之間的表現(xiàn)也千差萬別,相機就是其中的典型。同一顆攝像頭,同一個解決方案,不同成像質量的例子不勝枚舉。
另一方面,Android誕生時并不是軟硬件結合的產物,所以相比蘋果對iOS的控制力,Google對Android的開發(fā)者基本上采取了“放任自流”的態(tài)度。自動運行、自動聯(lián)網(wǎng)、常駐后臺、廣告推送、通知欄推送、彈窗推送等非常敏感的權限,Android幾乎全都提供給了開發(fā)者。
而開發(fā)者無論是公司還是個人,他們基本上都是靠利益驅動的。所以當他們發(fā)現(xiàn)在舉手投足之間,就能為自己帶來巨大的商業(yè)回報時,權限濫用就成為了一種常態(tài)?;谝陨蟽牲c,作為一個對用戶體驗還有追求的Android手機廠商,“底層優(yōu)化”就變得必不可少。
Android的基本架構就是四層——應用程序層、應用程序框架層、系統(tǒng)運行庫層和Linux核心層。當雷鋒網(wǎng)編輯采訪不同的業(yè)內人士,詢問“底層優(yōu)化”的范圍時,他們幾乎給出了完全不同的答案。
FView CEO彭林:“應用程序層和應用程序框架層。系統(tǒng)運行庫層(手機廠商)動不了,Linux核心層更動不了。”
樂蛙CEO 趙力:“應該是指應用程序框架層,有能力動下面兩層的廠商不多。”
錘子軟件開發(fā)工程師:“中間兩層都有(應用程序框架層、系統(tǒng)運行層)?!?/p>
LBE CEO 張勇:“下面三層對手機廠商而言都算是底層,主要優(yōu)化在最下面兩層。”
魅族軟件工程師吳章金:“APP(應用程序層)之下,用戶看不到的摸不著的都可以叫底層,更底層的則為 系統(tǒng)運行層以及之下?!?/p>
小米安全總監(jiān)馬驥:“優(yōu)化是貫穿整體的,每一層都需要?!?/p>
答案的多樣性讓問題本身失去了意義,不過在追問的過程中可以洞見,Android手機很多被詬病的問題都是可以通過技術手段來解決的,而Android話語權的分散只是為這一過程平添了難度。
LBE張勇告訴雷鋒網(wǎng)編輯,“有能力在下面兩層’動手腳’的廠商不多,小米魅族之類的整天在搞下兩層,雜牌機基本上動不了,主要還是靠集成一些第三方的方案。”
不過錘子手機的軟件研發(fā)工程師表示:“Google對使用Android基本沒有限制,但是Linux核心層改完必須開源。另外,Linux一般是芯片廠商干的活,手機廠商的核心競爭力不在那?!?/p>
到目前為止,實際上“大刀闊斧”地修改系統(tǒng)運行層和Linux核心層的UI廠商并不多,如果一定要舉個特別極端的例子的話,阿里云OS應該是動作最大的一個,因為它把Android活生生改成了不是Android。眾所周知,Java虛擬機的運用是Android的精髓,如果有人動了這里,看似“沒有什么不允許”的Google可是很敏感的。
根據(jù)阿里云OS前開發(fā)人員的解析,“阿里云OS只是重寫了dalvik(虛擬機),加上/換掉幾個apk(比如launcher)以及服務而已,其他所有架構及模塊(audio、display、video、power、usb、input、recovery、windowManager、ActivityManager等)都還是Android,而且一模一樣。如果沒有重寫dalvik,云OS對Android的改動并沒有比flyme和MIUI類似這些的多。”
這樣的改動引發(fā)了Andy Rubin對阿里云OS的公開譴責,其中最有力的一點就是,“阿里云OS對Android的應用并不能完美兼容,這將有可能導致Android陣營的分裂。”總而言之就是一句,UI廠商再瘋狂,如果想從Android生態(tài)系統(tǒng)中獲利,必須遵循“所有應用生來平等”這一原則。
根據(jù)趙力的描述,“一些關鍵元器件的驅動程序會動到Linux Kernel層,如相機、display、audio、keypad等?!痹谑謾C廠商在選擇某個元器件時,芯片廠商會提供Reference Design,然后手機廠商會在此基礎上做二次開發(fā),這就是所謂的“調?!薄?/p>
雖然聽上去十分高深,但很多元器件的迭代周期相對較長,驅動方案也已非常成熟,所以“調?!钡某杀静⒉桓?。其中最能體現(xiàn)廠商優(yōu)化能力的無非就是攝像頭。說到這里,也許有人會提及最近“炙手可熱”的高通驍龍810,可需要指出的是,手機廠商對CPU的要求是趨同的——高性能、低功耗、散熱好,這和歸屬于“審美范疇”的攝像頭不可同日而語。
即使是對廠商能力邊界表示悲觀的彭林也認為:“有一個特殊地方就是照片風格,Google允許廠商根據(jù)自己用的ISP、加進自己的白平衡算法,有廠商會去買個好的算法。所以這應該也算好優(yōu)化的一個例子吧。”
當然,除了對驅動程序的編譯以外,Android的最底層還提供了各種資源管理與軟件機制保障。吳章金表示:“如果這部分出問題,通常可能會造成死機或者重啟,這個恢復時間長,甚至要用戶手動恢復,體驗性非常糟糕。所以,事關穩(wěn)定性、性能、功耗、溫控甚至安全的最核心的改善都是優(yōu)先從離硬件最接近的 BSP 做起,而 BSP 的優(yōu)化又會發(fā)現(xiàn)硬件設計、結構設計或者是 APP 的缺陷。”
可以看出無論是Google、元器件供應商、還是手機廠商,在針對這些問題的優(yōu)化上,很多時候都是技術水平和物理世界的抗衡,財力、人力、物力是唯一的解決方案。但對Android有所了解的人都知道,這個生態(tài)亂象的根本原因并沒有那么純粹,因為寫到這里,我們還沒談到游戲的另一個重要參與者——應用開發(fā)者。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權禁止轉載。詳情見轉載須知。