華為“方舟編譯器”到底是什麼?它是如何提升安卓運行速度的

最近,華為方舟編譯器很火,但是很多人應該都不明白這個牛到爆表的“方舟編譯器”到底是個什麼東東,今天小編就試著給大家普及一下,當然,順便也給自己普及一下。

華為花粉俱樂部官方微信公眾號為我們通俗的講解了方舟編譯器到底是什麼,我們來看一下吧。

華為“方舟編譯器”到底是什麼?它是如何提升安卓運行速度的


華為“方舟編譯器”到底是什麼?它是如何提升安卓運行速度的


華為“方舟編譯器”到底是什麼?它是如何提升安卓運行速度的

不知道大家看懂了沒。

華為編譯器最大的優勢在於,它繞過了 VM。

簡單來說,在百人專家團隊的打造下,華為方舟編譯器可以將高級語言(Java)直接變成機器碼,無需再通過 Android 操作系統中內置的 VM 編譯器。按照華為方面的說法:方舟編譯器編譯的應用在開發階段就已完成;也就是說,只要是經過編譯器編譯的應用,在應用市場上上架了以後,用戶下載 APK 的就是編譯過的了。

華為“方舟編譯器”到底是什麼?它是如何提升安卓運行速度的

換句話說,通過方舟編譯器,開發者的應用在下載之前就已經轉化成為機器可以識別的代碼,因而可以在手機上快速安裝、啟動和運行,而無需再經過 VM 的編譯——某種程度上,方舟編譯器是將編譯過程提前到應用開發階段,從而大幅度減少了智能手機和操作系統的運行負擔。

按照華為方面的說法,採用華為編譯器之後,提升效果如下:

EMUI 9.1 僅僅對系統組件 System Server 應用了方舟編譯器之後,系統流暢速度提升了 24%,系統響應速度提升了 44%;

第三方應用(目前採用了新浪微博極速版)的操作流暢度提升了 60%。

不可忽視的是,實際上,要想實現華為所言的效果,就首先需要第三方的應用開發者採用方舟編譯器對自家的 App 提前進行改造,從而能夠上架華為應用商店——這也是餘承東在 4 月 11 日的發佈會呼籲開發者積極參與的原因。

除了代碼編譯,方舟編譯器也提供了更高效的內存機制,它與 Android 內存回收的不同之處在於:

內存管理是程序開發與運行時需要重點考慮的部分,也和系統流暢度息息相關。Android 在內存回收上採用集中回收機制,發聲全局回收時更需要暫停應用,這也是隨機卡頓的根因之一。而方舟編譯器提供了更高效的內存回收機制,回收時無需暫停應用,隨時用隨時回收,大大提高運行速度。
華為“方舟編譯器”到底是什麼?它是如何提升安卓運行速度的

另外,在方舟編譯器的編譯環境下, 還可以對代碼進行優化。目前,由於 Android ART 的 AoT 和 JIT 動態編譯因為是運行在手機上,受資源所限,因而只能使用簡單的優化算法。而方舟編譯器由於是在應用開發階段進行編譯,所以可以允許不同應用靈活採用不同的編譯優化方案,而且因為在開發環境編譯不會受到手機性能的限制,可以使用更多先進的優化算法,從而使得每個應用的性能達到最佳。

通俗點講:

借用昨天萬能的大熊分享,大家可能理解起來就更簡單明瞭了。

今天下午非常認真的去聽了方舟編譯器的一些宣講,其實還有一個文件管理器也很重要,不過大家的興趣顯然還是在方舟編譯器上,這裡給大家關心的一些問題做一些深度的解釋。1首先你要肯定的是這個東西很牛逼,牛逼到什麼程度呢?大概就是假如現在汽車分柴油發動機和汽油發動機,那麼方舟編輯器的意義就是通過了它,發動機可以加汽油也可以加柴油。或者說,它讓發動機不挑油了。2對於開發者有什麼麻煩的麼?其實沒有什麼麻煩的,你用汽油也好,柴油也好,只要倒進方舟編譯器,出來的發動機都可以用。未來的目標是實現完全不用寫新代碼,直接把現在的代碼重新編譯就可以。也就是說,不需要再有團隊去重新寫代碼。3對於所有安卓系統全部兼容,甚至實現了跨平臺支持,不管是ARM架構還是x86架構,不管是手機還是其他通訊設備,都可以使用。明確的說是可以脫離安卓框架的,用上面的例子解釋就是,不僅支持汽車發動機,也支持飛機發動機和輪船發動機。4使用之後,安卓的體驗是可以達到IOS的水準的,甚至可以超過IOS的水準。但安卓的問題是,生態不如蘋果嚴格,蘋果很嚴格的規定了開發者調用的資源接口之類,但安卓沒有規定,這會成為未來安卓的一種阻礙。而之前安卓不如IOS的原因是動態碼需要虛擬機編譯,所謂的邊編譯邊執行,類似同聲傳譯。而IOS等於是直接念翻譯稿,所以更快。而現在方舟編譯器也可以實現直接出翻譯稿了,不需要同聲傳譯了。流暢度大幅提升的秘密就在這。5有什麼缺點麼?有,安裝包的體積會擴大一倍以上。但是安裝完成之後,安裝文件會刪除掉,所以最後安裝完的包增加沒有那麼多,大概也就增加了25%。6使用方舟編譯器的APP可能會有特殊標識,來供用戶選擇,畢竟流暢的代價是包擴大了。7可不可以做新系統?雖然沒有直說,但前面說了,支持汽車、飛機、輪船,換句話說,你再造一個火車,也是可以執行的。換句話說,就是稿子都翻譯好了,你在微信通話念還是打電話念都一樣。所以重新編一套系統,因為脫離了安卓的虛擬機體系,也是完全可以執行的。8什麼時候上線?8月份華為開發者大會會發布,大家可以先學習。11月綠盟開發者大會會正式全面開源。9谷歌的態度是什麼?這套產品的框架完全符合谷歌的開發協議,但華為也事先跟谷歌做了深度的溝通,達成一致後,華為才公開宣佈。至於未來,華為願意把這套產品放入安卓體系,幫助生態更好的發展。谷歌怎麼想,現在還不清楚。#華為方舟編譯器#為地球補補妝# 補充:內存機制會有很好的優化,運行佔用內存大概50M,也就是一般的1%。


華為“方舟編譯器”到底是什麼?它是如何提升安卓運行速度的

萬能的大熊微博截圖

這樣的話大家理解起來應該會更加的具體話,希望我的可以幫到你們。有什麼想問的問題可以留言哈,小編不懂得會去諮詢大牛,然後分享給大家。


分享到:


相關文章: