• <noscript id="yywya"><kbd id="yywya"></kbd></noscript>
  • 發布時間:2020-10-05 11:56 原文鏈接: 華為方舟編譯器深度解析:提速安卓支撐鴻蒙?(二)

    安卓內存回收機制容易造成卡頓

    當手機內存資源不夠用的時候,安卓虛擬機就會召喚GC(Garbage Collection),讓所有手機運行的Java線程全部暫停,GC機制,無法精確控制內存回收,所以性能較差的手機間歇的出現“抽搐般”的卡頓現象。

    image.png

    以上這幾個問題,一直影響著安卓手機的體驗。其中最主要的是Java 高級語言轉換機器能懂的語言,這一轉換過程直接導致了Android的卡頓。反觀iOS系統,直接使用Clang/LLVM來編譯出機器碼,就沒有安卓還要一個中間層,也因為如此,我們感覺iOS系統一般更流暢。

    02 方舟編譯器牛在哪? "干掉"虛擬機

    方舟編譯器做的就是,將Java的所有語句統統翻譯成機器碼,最后打包成APK安裝文件。方舟編譯器最大的優勢在于它繞過了虛擬機。簡單來說,方舟編譯器可以將高級語言(Java)直接變成機器碼,無需再通過 Android 系統中內置的編譯器。

    image.png

    總之,方舟編譯器是完全替代了語言虛擬機的靜態編譯器,從此不再需要解釋器。相比現有的編譯機制有以下明顯優勢:

    1、方舟編譯器是一種靜態的編譯方式,而現有的安卓系統,運行一個應用程序首先啟動虛擬機,然后讀入應用代碼逐條解釋執行,無法做到100%做到擺脫虛擬機,這也是當前安卓陣營面臨的問題。

    image.png

    簡單一句話,只要是經過編譯器編譯的應用,在應用市場上架以后,用戶下載的APK 就是編譯好的了,方舟編譯的應用在開發階段就已完成了。

    2、華為方舟編譯器的靜態編譯方式可將語言里的動態特性直接翻譯成機器碼,手機安裝應用程序后可全速運行程序,徹底干掉了虛擬機,極大提升了系統運行效率。

    image.png

    方舟編譯器對于系統在這方面的提升,官方曾這樣描述:

    一、EMUI 9.1對系統主要服務System Server進行靜態編譯化,帶來了系統流暢度提升24%,系統響應性能提升44%以上的收益。

    二、微博極速版實現了靜態化編譯后,流暢度提升高達60%。通過上方演示視頻來看,經過方舟編譯優化的APP,在流暢度度方面的提升很明顯。

    03 新的內存垃圾回收機制

    此外,方舟編譯器還帶來了新的系統垃圾回收機制。以往安卓的垃圾回收機制是集中回收,由于Java虛擬機的特點,系統會不停的地自動回收內存垃圾,保證內存不會溢出。

    image.png

    更要命的是,當內存低于某個標準值后,它就會自動殺掉優先級低的進程。系統會集中關閉被標記的多余進程,這就造成了隨機性的卡頓。相信大家遇到過這種情況,啟動游戲時,點按應用瞬間進入前會感覺莫名的卡頓,界面像是遲鈍了一下。

    image.png

    而方舟編譯器在這方面有什么不同,它的內存回收機制是隨用隨回收,回收時不需要暫停應用,而是直接回收內存垃圾,這大大提高了系統運行速度和效率。

    小結:方舟編譯器的優勢,可以簡單總結為以下五個方面:

    1.安卓程序編譯效果更好

    2.安卓應用安裝速度更快

    3.APP運行速度更快

    4.系統內存垃圾隨用隨清,對手機硬件的要求降低

    5.省電

    04 十年造方舟,為安卓提速為真,支撐鴻蒙也為實

    十年磨一劍,沒錯,華為方舟編譯器準備了十年之久。2009年,華為啟動5G基礎技術研究的同時,開始創建編譯組,第一批海內外研究人員加入。

    image.png

    2013年,華為推出面向基站領域的自研編譯器HCC,并正式提出編譯器框架構想。

    2014年,眾多海內外專家加入華為,方舟項目正式啟動。同時,編譯器領域的頂級大佬,周志德(Fred Chow)的加入大大增強了研發實力

    2016年,成立編譯器與編程語言實驗室。2019年,華為方舟編譯器正式面世!

    華為方舟編譯器深度解析:提速安卓支撐鴻蒙?

    方舟編譯器既能統一適配安卓機器語言,自然也能適配成自家系統的機器語言——鴻蒙OS,方舟編譯器為“安卓提速”為真,但能“支撐鴻蒙”也為實,它完全可稱為讓開發者從安卓到鴻蒙過渡的"諾亞方舟"。

    05對外開源 構建生態

    據悉,方舟編譯器也將開放給第三方合作伙伴。其后續會在 2019 年 11 月的綠盟開發者大會實現完整方舟編譯器代碼開源,讓廣大的應用開發者、手機廠商參與,共同構建開發者生態,使安卓體系變得更加完整強大。

    image.png

    未來方舟編譯器是否能成功,還要看后續完整生態的搭建。希望開發者積極參與進來,最終給消費者帶來更為極致的體驗。

    總結:

    從方舟編譯器我們就能看出華為對研發的投入,以及對未來生態搭建的規劃,或許,想要做一個操作系統并不難,比如阿里云OS,但難的是未來完整生態的構建。

    無論怎么看待華為,目前,在國內也只有它有實力去干這件事情,并不只是說說而已,華為的終極目標很明顯,就是在未來搭建全方位的生態。我們期待這項技術能夠普及開來,促進Android體系更加強大,也希望華為能在未來帶給我們更多驚喜。


  • <noscript id="yywya"><kbd id="yywya"></kbd></noscript>
  • 东京热 下载