《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 業(yè)界動(dòng)態(tài) > 華為方舟編譯器是怎么改變安卓底層架構(gòu)的?

華為方舟編譯器是怎么改變安卓底層架構(gòu)的,?

2019-06-30
關(guān)鍵詞: 華為 方舟編譯器

  要在安卓系統(tǒng)底層進(jìn)行優(yōu)化,,除了技術(shù)難題外,關(guān)鍵在于如何跟谷歌達(dá)成合作,。

  P30系列中國(guó)發(fā)布會(huì)上,華為推出方舟編譯器,可以做到在安卓底層優(yōu)化架構(gòu),,引起業(yè)內(nèi)關(guān)注,。

  中興事件后,安卓系統(tǒng)禁用的風(fēng)險(xiǎn)屢屢被探討,。此前,,華為曾表態(tài),自己有手機(jī)系統(tǒng)備份,,但不到萬不得已不會(huì)啟用,。

  當(dāng)然,方舟編譯器并沒有取代安卓系統(tǒng),,而是跟安卓系統(tǒng)進(jìn)行深度合作,,以這種方式來提升華為手機(jī)的體驗(yàn),并提升華為對(duì)抗風(fēng)險(xiǎn)的能力,。

  編譯器是一種語(yǔ)言(通常為高級(jí)語(yǔ)言)翻譯為另一種語(yǔ)言(通常為低級(jí)語(yǔ)言)的程序,,可以將源代碼翻譯成可以被計(jì)算機(jī)或虛擬機(jī)執(zhí)行的代碼。

  華為方舟編譯器可供開發(fā)者,,在開發(fā)環(huán)境一次性將高級(jí)語(yǔ)言編譯為機(jī)器碼,,可以讓手機(jī)安裝的APP運(yùn)行效率明顯提升。

  據(jù)華為實(shí)驗(yàn)室測(cè)試數(shù)據(jù),,EMUI 9.1在僅僅對(duì)系統(tǒng)組件System Server應(yīng)用了華為方舟編譯器后,,系統(tǒng)操作流暢度提升24%,,系統(tǒng)響應(yīng)性能提升44%,。新浪微博極速版是第一款采用方舟編譯器的第三方應(yīng)用,,操作流暢度提升60%。

  華為為什么要做方舟編譯器,?

  4月25日,,CBG軟件部總裁王成錄博士在采訪中解釋:

  由于安卓的開放性,對(duì)上層應(yīng)用沒有強(qiáng)制規(guī)則,。比如安卓的第三方應(yīng)用市場(chǎng)非常多,,數(shù)量無法統(tǒng)計(jì);安卓的安裝方式也非常多,,通過郵件都可以安裝,,由此帶來的問題比較多。所以安卓用戶要真正能夠獲得好的體驗(yàn),,手機(jī)廠家只把手機(jī)(硬件)做好是不夠的,,(還需要對(duì)軟件進(jìn)行提升)。

  王成錄打了一個(gè)比方:假設(shè)手機(jī)是一個(gè)人,,過去這個(gè)人身體體質(zhì)弱容易得病,,但是今天把這個(gè)人身體鍛煉好了非常強(qiáng)壯了,,但是吃的東西沒有保障。從應(yīng)用市場(chǎng)下載的東西有問題,,這個(gè)人免疫力再好,,也難免受食物所累。

  手機(jī)內(nèi)部的資源是有限的,,要想取得好的用戶體驗(yàn),,就要對(duì)系統(tǒng)硬件資源機(jī)型合理調(diào)配。華為先后發(fā)布了多種新技術(shù),,包括AI芯片,、GPU Turbo、Link Turbo來提升手機(jī)性能,。在此之后,,編譯器成為安卓機(jī)性能提升最大的難題,,為了攻克這一難關(guān),,華為推出了方舟編譯器。

  nl4li9bg4tl977xt.jpeg

  做編譯器是一個(gè)非常復(fù)雜的工程,。據(jù)王成錄介紹,,華為2009年就開始為編譯器做準(zhǔn)備,2013年有了自己的編譯器HCC,,2014年引入了Fred Chow等技術(shù)大牛,,來做華為編譯器的主架構(gòu)。此后,,2012年實(shí)驗(yàn)室成立了編譯器與編程語(yǔ)言實(shí)驗(yàn)室,,今年4月推出了方舟編譯器。

  相比于安卓原生系統(tǒng),,方舟編譯器可以明顯提升系統(tǒng)運(yùn)行效率:

  首先,,它是多語(yǔ)言聯(lián)合優(yōu)化編譯器,消除跨語(yǔ)言調(diào)用開銷,,這是影響Android性能消耗較大的核心原因之一,。

  其次,把虛擬機(jī)去掉了,,內(nèi)存回收機(jī)制,。“我們?cè)趦?nèi)存回收上,,華為現(xiàn)在這方面做的比Android領(lǐng)先的非常高,,內(nèi)存回收的機(jī)制和效率非常高?!蓖醭射洷硎?。

  虛擬機(jī)是安卓系統(tǒng)的關(guān)鍵部分之一,。虛擬機(jī)可以幫助安卓系統(tǒng)適配各種處理器,實(shí)現(xiàn)跨平臺(tái)操作,,不管是X86機(jī)器,,還是ARM機(jī)器,或是其他CPU的機(jī)器都沒有問題,。但這樣一來,,只要裝上安卓系統(tǒng),虛擬機(jī)也會(huì)占用額外的系統(tǒng)資源,。

  “我們編譯器的目標(biāo)是上層業(yè)務(wù)代碼不需要改,,大家只需要通過方舟編譯器重新編譯就足夠了。現(xiàn)在還需要開發(fā)者作一些對(duì)接,,但很快隨著一些APP進(jìn)來,,這個(gè)目標(biāo)很快就能實(shí)現(xiàn)?!?/p>

  據(jù)王成錄介紹,,方舟編譯器目前是基于ARM指令集開發(fā)的,2019年全面開源,,適用于所有ARM平臺(tái),,不限于安卓,未來可基于具體芯片指令集進(jìn)行開發(fā),。

  其實(shí),,要在安卓系統(tǒng)底層進(jìn)行優(yōu)化,除了技術(shù)難題外,,關(guān)鍵在于如何跟谷歌達(dá)成合作,。

  2012年,因?yàn)榛诎沧靠蚣艿陌⒗镌芆S去掉了谷歌的虛擬機(jī),,代之以自行研發(fā)的虛擬機(jī),,谷歌反對(duì)宏碁生產(chǎn)搭載阿里云OS的智能手機(jī),并宣稱要取消其GMS授權(quán),。由于谷歌的反對(duì),,此事就此擱淺。華為則跟谷歌達(dá)成了合作,,在華為手機(jī)系統(tǒng)國(guó)內(nèi)版本上,,可以采用方舟編譯器。

  王成錄也表示,,華為在安卓底層的優(yōu)化工作,,是產(chǎn)業(yè)的共同資產(chǎn),華為愿意將方舟編譯器貢獻(xiàn)給整個(gè)安卓生態(tài),,這個(gè)過程需要谷歌,、手機(jī)廠家,、應(yīng)用開發(fā)者一起努力,讓編譯器更加完善,。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問題,,請(qǐng)及時(shí)通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]