一提起華為,大部分人心中第一時間想起的應該是領先全球的5G技術和當今拍照最強的華為P30系列手機。意料之外的是華為的軟件也爆了,和P30系列手機一同問世的“方舟編譯器”震撼了軟件行業,引起行業的廣泛討論。
不同于5G技術以及P30系列手機的看得見摸得著,方舟編譯器是作為“軟支持”被發布的,在發布會上華為消費者業務CEO余承東也曾介紹了這個技術,不論是從架構原理還是對消費者使用所產生的影響,方舟編譯器絕對是一個重要的支撐,甚至可以講在它非常有可能影響未來安卓系統的走向,成為真正的未來之舟。
眾所周知,當前智能手機系統只有安卓和蘋果IOS兩大陣營。近幾年來,安卓越來越占據壓倒性的優勢,不論是應用商城的數量超越蘋果,還是安卓機的銷量也是iPhone的4~5倍。2019 年 Google I/O 大會上,安卓也是越來越有人情味,更加全面的安全隱私保護,更體貼的專注模式,黑暗模式,更強的AI,甚至可為語言障礙患者服務……
“美中不足”的是安卓原生的卡頓問題依然如影隨形,遲遲難以解決,消費者對此多有抱怨。此次,華為推出方舟編譯器正是為了去除安卓系統原生卡頓的這一頑疾,通過不斷優化升級使得系統在流暢性、易用性以及開放性等方面比iOS系統有更好的體驗,對于整個安卓生態歷史意義不可謂不大。
目前的 Android 采用的是解釋執行 + 還算可以的 JIT + AOT 的綜合模式;但并沒有擺脫這樣一個前提,即應用在被打包成 APK 的時候,采用的還是 Java 代碼。換句話說,在 APK 變成用戶可應用的過程中,還經歷了一個在 Android 系統內部的編譯過程,這是一個繞不過的坎。所以,安卓系統在我們打開應用進行操作時必須要進行一次相對復雜的“二次加工”,這是因為安卓系統本身是使用Java語言編程的,而機器可以識別的語言卻是匯編語言,這就要求兩者間必須有個“翻譯”,即中間層編譯器。轉換復述過程不僅浪費時間而且還有出錯的可能,這就是目前安卓系統卡頓的根源所在。
相比于繁瑣的“二次加工”,華為推出的方舟編譯器是從底層直接定義了一套標準,采用了全新的系統及應用編譯運行機制,簡單的說就是在安卓應用打包APK的時候直接把Java代碼編譯為了機器碼,將所有的Java語義全部做到靜態編譯,相當于在軟件運行前就打好了一切基礎,直接摒棄了翻譯過程,運行效率可想而知。
專業術語大家可能都不太懂,舉個例子就像一個不懂英文的中國人要和英國人交流,中間就需要一個翻譯人員,而方舟編譯器的作用就是讓英國人直接說中文,這樣效率自然一下提高很多,這樣通俗解釋,大家應該就明白了。
當然,凡是要拿證據說話。華為今年推出的P30系列就是搭載了方舟編譯器,經過對比測試,在EMUI 9.1 環境下華為P30系列手機的系統操作流暢度提升24%,系統響應性能提升 44%,另外,第三方應用新浪微博極速版利用華為方舟編譯器之后,其操作流暢度提升了60%,并且內存占有率更小,CPU使用率更低。面對這樣的數據,相信很多人應該都服氣了。
需要說明的是,方舟編譯器對華為而言遠不止提升手機運行效率這么簡單,有了華為方舟編譯器,第三方APP只要重新編譯即能為華為手機所用,無需重新開發,也無需像IOS那樣重寫,并且流暢度也將大幅度提升,這勢必會減少安卓APP的優化成本、消除APP供應商的優化顧慮,日后華為一旦推出自己的系統將會得到更多的支持,這也許才是華為推出這款方舟編譯器的深遠意義,目前這個技術華為已經開源,期待更多廠商能夠用方舟編譯器帶給消費者更為暢爽的智能機使用體驗。