首頁  >  文章  >  方舟編譯器解讀

方舟編譯器解讀

(*-*)浩
(*-*)浩原創
2019-07-17 15:37:323354瀏覽

在先前的華為P30中國發表會上,華為曾表示透過方舟編譯器可實現系統操作流暢度提升24%,系統回應提升44%,第三方應用操作流暢度提升60%。其可說是華為P30系列體驗背後的最大功臣。

方舟編譯器解讀

方舟編譯器作為全新的系統及應用的編譯和運行機制,從DNA 層面對安卓進行了改造,打破了性能和功耗的蹺蹺板,解決了安卓應用邊解釋邊運行的低效問題,讓手機能直接聽懂“高級語言”,可以說是近年來安卓陣營最大的根本性革新。

4月25日下午,華為在北京舉行了「華為有技術 EMUI媒體沙龍」活動。在這次活動上,華為首次站在官方的角度,詳細解釋了P30系列在EMUI 9.1系統中所使用的方舟編譯器的應用原理。 (推薦學習:PHP影片教學

首先我們要了解什麼是編譯器。簡單來說,編譯器就是將我們能理解的語言翻譯為電腦能夠理解的以0和1構成的語言。

就像我們和外國人溝通一樣,語言不同是很難溝通的,但只要將其中一種語言翻譯成對方能聽得懂的語言,就能交流成功了。

華為方舟編譯器最大的特點在於,它是業界第一款支援多語言聯合最佳化的編譯器,也就是說無論是C/C 或Java都支援。

因此面對採用混合語言開發的安卓應用,方舟編譯器可以在開發環境中編譯成統一的流程,透過統一的程式表示和最佳化來執行,效率更高。

也就是說,現有安卓的運作機制就像是兩個人各自準備任務,最後將他們的準備的結果綜合在一起執行。而方舟編譯器則是讓這兩個人一起準備,之後再一同執行任務。

安卓系統本身的編譯是要透過ART虛擬機器運行,因此系統資源佔用較大。而方舟編譯器則是在開發的時候就已經完成了靜態編譯,因此不需要依賴手機本身編譯。

打個比方,以開卷考試為例,一個學生是在考試之前就預習好了可能會考到的知識點,做好了對應內容的標記,拿到卷子就迅速動筆;而另一個學生則是靠“臨場發揮”,在考場上臨時翻閱資料,佔用大量考試時間。

同時,方舟編譯器也提供了更有效率的記憶體回收機制。由於不需要經過虛擬機,應用程式在運行過程中不需要暫停,同時隨時回收內存,而不是將垃圾堆在一起回收。

方舟編譯器還有一大核心功能就是對程式碼進行最佳化。所謂程式碼優化,就是為程式帶來更高的效能。

舉個很簡單的例子,就是同一個人考兩次試,怎麼才能讓第二次比第一次考的更好,其實就是要對複習進行優化。

前面說到,現有安卓系統的動態編譯是利用ART虛擬機器在機器上執行,而方舟編譯器則是在開發的時候進行靜態編譯。

因此,前者只能採用簡單的最佳化演算法,而後者可以突破手機機能限制,根據不同的應用採用不同的編譯和最佳化演算法。

最後,華​​為方舟編譯器還有一大亮點是學習和使用成本低。由於在APP發布之前的打包階段就已經整合了編譯環境,因此對於開發者來說,整個流程其實是被簡化了,使用下來更方便。

華為表示,方舟編譯器將從2019年開始全面開源。這也就是說無論是手機廠商,或是應用程式開發者都可以使用方舟編譯器來最佳化應用的效能。

總的來說,透過華為方舟編譯器編譯應用程式相比現有安卓的優勢主要在於:

1、釋放機器編譯壓力,在開發時完成應用的靜態編譯,不經過ART虛擬機器。

2、採用不同類型的應用最佳化方案,讓應用程式運作效果達到最優。

3、提供更有效的記憶體回收機制,提升系統流暢度。

4、簡化編譯流程,降低開發者學習和使用成本。

根據華為官方公佈的日程,方舟編譯器將於2019年8月的華為終端開發者大會上開源編譯框架代碼,並於2019年11月的綠盟開發者大會上公佈完整的方舟編譯器程式碼。

更多PHP相關技術文章,請造訪PHP圖文教學欄位進行學習!

以上是方舟編譯器解讀的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn