回覆列表
-
1 # 電子維修
-
2 # LeoGo科技
編譯器是啥?將一種語言(通常為高階語言)翻譯為另一種語言(通常為低階語言)的程式。這裡牽扯到Java在編譯,透過將程式碼編譯成位元組碼,在透過位元組碼直接編譯成機器碼執行,不過谷歌很聰明,直接用ART替代了Dalvik,其實,我們經常提到一個詞,AOT編譯,實際上,ART 就是把程式碼預編譯成機器語言,而這一機制叫 Ahead-Of-Time (AOT)編譯。
而華為方舟編譯器採取了靜態編譯的方式, 取代了安卓虛擬機器模式的靜態編譯器。其實,我覺得這種編譯和ART還是有區別的,因為之前ART確實存在問題,佔有空間大以及安裝比較慢,所以我們經常提到的,安卓7.0之後,安卓系統變得非常的流暢,實際上,引入了AOT + JIT + 解釋執行。那麼,華為是怎麼執行的呢?
有網友猜測:方舟編譯器是直接在APK被打包完成時,就已經將Java 程式碼編譯結束了。它們的區別是:
AOT + JIT + 解釋執行的執行是在APP安裝或者系統空閒時進行編碼
方舟編譯器是直接在打包時,就進行了編碼
不過,我們現在都是猜測,到底方舟編譯器的解決途徑是什麼?我們並不知曉,可是,這種方舟編譯器如果真的提前了編譯時間,確實會增加執行速度。至於,會不會是華為系統的先行者,我覺得不像。
在4月11日的P30手機發佈會上,華為還發布了一項號稱可以提高安卓系統流暢度的黑科技~方舟編譯器,在此項科技的加持下,華為手機的系統流暢度提升了24%,系統響應速度提升了44%,第三方APP經過方舟編譯後流暢度可以提升60%,手機流暢度直追蘋果機,此項科技被網友們評為是近年來安卓陣營中的最大變革,那麼方舟編譯器到底是個什麼東西呢?請看下面。
華為方舟編譯器我們先來看一下什麼是編譯器,編譯器是一個針對軟體開發人員使用的編譯工具,和普通軟體不同的是,編譯器是軟體中的軟體,說白了就相當於一個高階翻譯,它負責將程式設計師使用的程式語言翻譯成機器所能執行的程式碼,是程式設計師和機器之間溝通的一座橋樑。
關於方舟編譯器,華為餘承東曾經表示,現有的安卓系統存在著邊解釋邊執行的低效現象,而方舟編譯器則是針對這一痛點,將應用直接翻譯為機器程式碼,讓系統全程執行機器程式碼高效執行,提升手機流暢度和使用者體驗。
想必大家已經明白了,方舟編譯器並不是直接面向我們使用者的,而是面向APP開發人員的一項工具,華為餘承東也表示將方舟編譯器免費向國內開發者開源,並呼籲國內的APP開發人員儘早將自家的應用使用方舟重新編譯,最終受益的也將會是我們大眾使用者。
不過也有人猜測,方舟編譯器是華為為自家的作業系統做鋪墊,一旦安卓不再免費,自家預備的作業系統也能很好的解決生態問題,由此可見華為的佈局深遠,我們中國產的手機作業系統也將指日可待,不過最終會怎樣,還要看怎樣發展了。