天天看點

方舟編譯器到底是個什麼神仙操作?榮耀20 PRO實機對比

方舟編譯器一經釋出就被相關廠商應用在新推出的裝置中,日前,榮耀最新推出的榮耀20系列手機就應用了這一技術,榮耀也公布了一些對比視訊來展示了方舟編譯器在底層性能上與傳統的安卓編譯器的不同之處。

首先我們要了解一下安卓作業系統編譯器運作機制,我們知道安卓是一個基于Linux開發的系統,而其應用絕大部分使用Java開發,而這些應用均需要運作在Java虛拟機中,因為處理器無法識别Java語言虛拟機指令。

現階段的安卓系統采用了AOT+JIT+解釋執行三種方式共同實作Java代碼編譯成機器碼,但安卓系統上應用的編譯已經非常高效。但是,即便是應用被打包成apk也是采用Java代碼,安卓内部永遠繞不開編譯這個問題。

而方舟編譯器通過将Java語言直接變成機器碼繞開虛拟機實作應用的直接編譯,這樣使用者下載下傳應用完成後就自然得到了編譯過的應用。

通過榮耀20 PRO的示範視訊我們看到,榮耀20 PRO通過方舟編譯器編譯的微信應用打開照片的過程對比三星Galaxy S10+更加流暢迅速。

當然,想要全面的繞開編譯過程,最好的方法就是從應用底層代碼就開始引入方舟編譯器,方舟編譯器與安卓記憶體回收不同的是,方舟編譯器回收時不需要暫停應用就可以實作記憶體回收,這樣可以大大提升應用的運作速度。

通過開發階段利用方舟編譯器不同的編譯優化政策,我們看到,修改版的微網誌極速版應用運作在榮耀20 PRO上的速度甚至比蘋果iPhone XS Max還要流暢。

當然,方舟編譯器的普及還有很長的路要走,榮耀總裁趙明在微網誌上表示,“作為安卓體系的革命性突破,方舟編譯器給了我們很多想象和操作空間。”