華為的方舟編譯器能提高流暢性40%以上,怎麼這麼厲害?

黑土217712201


感謝您的閱讀!

國產安卓系統似乎在流暢性上都超過iOS系統了,iOS系統沒落了嗎?!

方舟編譯器一出,餘承東這樣說:方舟編譯器可以讓華為手機的性能超過蘋果iOS。特別是通過方舟編譯器的編譯,讓EMUI系統的流暢性能更高!
有人也做過測試:在同時開啟華為P30 pro和iPhone Xs max的App時,15款軟件,華為有13款領先!那麼,什麼導致iOS系統比不過安卓系統呢,或者華為的EMUI呢?

我們看到在EMUI9.1的介紹中,這樣說到:從底層改變安卓系統的編譯方式,獨創方舟編譯器,以高效的靜態編譯代替高資源消耗的動態編譯,使得系統流暢度提升24%。系統響應性能提升44%,操作流暢度提升高達60%。

這裡提到的原理是,通過靜態編譯進行創新,能夠帶來更好的流暢速度,我們說到編譯,安卓的編譯裡有這幾個詞彙,JIT編譯,可以進行運行時編譯器,還有安裝時解釋的,Dalvik是運行時解釋 ,還有AOT,意思是運行前編譯,然而安卓編譯確實會存在:邊解釋邊執行的現象。而通過華為方舟編譯器之後,這種現象,變成了靜態編譯,帶來更快的編譯速度。

但是,ios系統的優勢還是明顯的,其實它的優勢主要在於運行機制;而且在優勢上,ios系統主要是交互和生態,這是它的優勢。這方面,就是安卓系統比不上的,甚至華為經過方舟編譯器,也不能改變這種情況,所以,即使華為流暢度更快,也難以改變這種情況!


LeoGo科技


小伊評科技,希望幫到你

這個問題解釋起來較為的深奧,筆者就簡單的根據自己目前蒐集到的和整理的一些資料大體上來講一下,希望可以幫到你。

首先,安卓究竟為什麼沒有IOS流暢?

從系統底層上面來講,安卓之所以沒有IOS流暢其實問題的根源出在根上,也就是編寫這套系統的程序語言上就有差別,我們要知道安卓的底層是基於Linux開發的,而應用層則是套用了Java語言開發。蘋果的IOS則是應用的Unix語言開發。其實從底層語言上來說Linux和Unix差別很小甚至可以互通。問題就出在安卓應用層所採用的Java語言,是安卓卡頓的罪魁禍首。那麼Java究竟為什麼會造成卡頓呢?Java所編寫的應用和系統交互的過程中是需要通過虛擬機來解析指令,然後再傳遞給系統系統做出反饋。而IOS則是應用直接傳遞給系統馬上做出反饋,所以安卓應用的執行效率天生就沒有IOS高。

為了方便理解打個恰當的比方:

安卓就好比是一個不懂英文的人在和一個老外聊天,但是不懂英文,他說的話必須經過同聲翻譯員翻譯給老外他才能聽得懂。

IOS就像是一個精通英文的人,他和老外交流無需經過他人翻譯,可以面對面的交流,效率自然要比安卓高。


那麼華為方舟編譯器究竟是什麼用

在這裡牽扯到的專業的編程理論有很多,比如機器語言和彙編語言的轉化問題等等,這些問題過於深奧和艱深,筆者不多贅述。只是通過比較簡單的幹練的語言作為解答,可能會有一些專業人士覺得不專業,請大家多多包涵。

上文我們提到安卓是由於Java虛擬機編譯的緣故造成系統的卡頓,而華為的方舟編譯器就是為了解決這個問題而誕生的。簡單來講,通過這個編譯器編譯以後的應用,在安卓內部執行的時候是可以直接從應用直達系統層而不需要經過JAVA的虛擬機了,這就使得安卓的應用的啟動效率以及使用效率有了一個較大的提升。但是這個編譯器是需要APP的開發商來共同配合才行,因為只有APP的開發商使用這個編譯器去進行代碼的改寫和修繕,才能達到效果。並不是說華為的EMui系統可以直接打到這樣的效果。

經過編譯後的軟件打開效果還是挺明顯的

自定義封面


想法雖好但是還需要時間,不過華為已經很了不起了

目前安卓系統卡頓的根源其實就在混亂的APP,由於什麼樣的APP都可以上架到安卓應用市場,這也導致了大量地垃圾APP的橫行,關聯啟動,常駐後臺等情況更是屢見不鮮,原因其實就是因為開發者的實力參差不齊。那麼這麼來看華為的方舟編譯器想要推而廣之,還需要很長一段的時間要走。不過話說回來,華為能夠開發出來一款編譯器已經是非常厲害的行為了,我們應該給予肯定。

也希望國內能儘快完善APP上架機制,這樣才能更大程度的保證安卓手機的流暢性。
end 希望可以幫到你

小伊評科技


感謝邀請:我是科技數碼隨時答,很高興能回答這個問題

華為的方舟編譯器能提高流暢性40%以上,怎麼這麼厲害?

確實很厲害,但是我們要知道的一個問題關鍵核心在於實際使用和發佈會上的數據是否能夠完全吻合,但是不僅僅是指華為,就像發佈會上面提到的跑分和拍照等等方面的整合,我們看到的和實際還不能說有很大的出入,只是達不到發佈會上面講的那樣。再者題主說的一點是流暢度提升不是44%,而是24%,響應速度提升提升到了44%,這兩者還是有區別,一個說的綜合能力,一個說的是反應的速度,當然這一點我們不糾結。

方舟編譯器的實現原理,是改變的了安卓的運行機制,所以這是從根源上面解決了問題

安卓的卡頓的原因,其實就是運行效率相對較低,我們可以總結為,邊解釋邊執行的狀態,意思很簡單,安卓的編寫程序為jAVA,但是是不能直接被識別的,需要解釋一段、執行一段,然後再往下走,這就是我們所說的虛擬機,也就是我們開打運行程序的之後,數據先是需要從虛擬機去轉變和解釋,,然後到用戶的UI,然後才能執行。

而華為的編譯器正是改變了這樣的方式,因為他將應用程序將不再像以往那樣,解釋一段、執行一段,然後再往下走,而是將整個程序全部一次編譯成手機CPU能理解的機器指令,接著就順暢地連續運行下去。

這個其實就像是ios系統一樣,可以直接識別指令,然後系統可以做出更快的反應速度,而不是一邊走一遍解釋的狀態,所以縮減了中間的一個過程,而ios系統正是因為點擊之後,以用戶點擊為最高優先級,所以反應速度才會更快,因為可以直接識別。


總結

華為編譯器的出現確實可以很大程度改變運行效率低的問題,但是我們什麼時候才可以用上,這是一個問題,再者就是第三方APP的整合,因為ios系統只可以在蘋果商店下載程序,而安卓手機不通的是,在哪裡都可以下載APP,所以還沒有一個廠商有一個完整的整合,所以需要是各個廠商的配合,而不是華為一家,因為編譯器的實用性還是有待商榷的,而且即便是實際使用了之後,效率會怎麼樣我們未曾可知,雖然期待,但是需要時間。


回答完畢

歡迎留言發表不同的看法和想法:

科技數碼隨時答


剛升的華粉俱樂部方舟版,快的很。



清苦靜定慧0


目前只有微博極速版支持!沒有其他軟件開發者參與!這個編譯器只能自己跟自己玩!


等待你的溫柔19


這個沒幾人能回答!就看專業寫軟件的大神的說法吧!


分享到:


相關文章: