IT資訊
當前位置:天齊網 > IT資訊 >  科技雜談

提速安卓支撐鴻蒙?“大殺器”方舟編譯器深度解析

2019-09-19 17:12:48 N軟網 N軟 編輯:齊齊 浏覽數:48天齊網

8 月 9 日,華為開發者大會鴻蒙OS正式發布,這是基于微内核的全場景分布式OS。能實現模塊化解耦,對應不同設備(智慧屏、穿戴設備、車機、智能音箱、手機)可彈性部署。華為消費者業務 CEO 餘承東描述了華為鴻蒙 OS 的...

8 月 9 日,華為開發者大會鴻蒙OS正式發布,這是基于微内核的全場景分布式OS。能實現模塊化解耦,對應不同設備(智慧屏、穿戴設備、車機、智能音箱、手機)可彈性部署。華為消費者業務 CEO 餘承東描述了華為鴻蒙 OS 的方方面面。

餘承東稱,華為方舟編譯器,會通過多終端 IDE 開發環境來支撐當前的鴻蒙 OS。目前方舟編譯器支撐鴻蒙内核,“方舟編譯器能提升60%的編譯性能”,将來鴻蒙微内核能按需擴展,并希望用一個鴻蒙微内核代替全部内核。

今天,我們就聚焦華為的新貴——方舟編譯器,這個一發布就引起巨大響動的底層核心技術。方舟編譯器究竟是什麼?它為什麼能夠做到“青出于藍而勝于藍”,下面就讓我們帶着疑問去解讀。

01 編譯器是什麼?

首先講講編譯器是什麼東西吧?其實絕大多數用戶都不清楚這是什麼。程序員們在寫好應用的代碼之後,在變成我們手機上安裝的應用之前,還差最後一步就是編譯。

簡單來說,編譯器就是把編程人員開發的高級語言程序,翻譯成機器可執行的機器指令,這就是編譯器。它就像一位翻譯官,是連接程序員與機器的橋梁。

由此來看,方舟編譯器面向的是開發者的,但最終受益的還是消費者。

打個比方,說計算機是汽車,那麼軟件就像汽車的操控系統一樣。編譯器則是汽車發動機裡最核心的汽油燃燒技術,将軟件變成計算機的動力,其編譯的效率,直接決定了用戶的使用體驗。所以了解方舟編譯器之前,我們必須得首先了解 Android 操作系統中的編譯器的運行機制。

安卓系統從2008年1.0到9.0,截至目前安卓系統大小版本超過15個。十年發展安卓手機的體驗已經今非昔比。可生活中還有很多人诟病安卓手機沒有iPhone流暢,那麼安卓系統的程序是怎樣運行的?下面我們來闡述一下

Java的虛拟機的故事

Android 1.0剛發布的時候,使用的是一個叫Dalvik的虛拟機(Virtual Machine,簡稱 VM)裡面集成了一個解釋器,每次用戶在安卓手機上運行APP時,就會喚醒解釋器,來給安卓的硬件解釋APP接下來要幹什麼。

這個問題嚴重拖了安卓手機的後腿,所以Android2.2版本引入了JIT機制。JIT比較聰明,當用戶在安卓手機運行APP時,會同時将用戶經常使用的功能編譯為機器能直接執行的機器碼,不用一句一句去翻譯。當出現不常用的功能時,再喚醒解釋器翻譯。

但是每次啟動APP都要重新編譯一次,加上Dalvik虛拟機性能比較落後,所以谷歌在Android 5.0版本将虛拟機從Dalvik替代成ART,同時把JIT的編譯器替代成AOT 。AOT相比JIT的好處,就是不用每次打開APP都需要先編譯一遍。但是,壞處是安裝應用慢和占用内存空間。

在 Android 5.0 正式采用 ART 之前,Android 采用的是解釋執行+JIT 的方式執行 Java 代碼。在這個階段的系統是“邊解釋邊執行”模式,代碼效率比較低下,當時Android給人的感覺就是卡。

目前的Android采用的是解釋執行+JIT+AOT 的模式,但并沒有擺脫一個前提,即應用在被打包成APK的時候,采用的還是Java代碼。

JNI接口調度占用額外資源

現在大部分應用都是使用Java和C/C++等多種語言混合開發而成。Java和C/C++屬于兩種不同架構的語言,為了使APP正常運行,它倆之間需要互通的接口——JNI。

這就意味着手機硬件資源要分配一部分給JNI去做調度。不僅占用了硬件資源,而且這種機制本身就效率較低。

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

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

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

02 方舟編譯器牛在哪? "幹掉"虛拟機

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

華為Mate 20 RS保時捷版(全網通)

京東商城

12999元

進入購買

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

分享到:

版權與免責聲明:

凡未注明"稿件來源"的内容均為轉載稿,本網轉載出于傳遞更多信息的目的;如轉載稿涉及版權問題,請作者聯系我們,同時對于用戶評論等信息,本網并不意味着贊同其觀點或證實其内容的真實性;


本文地址:http://caifu61288.cn/news/2019/09/19/5230979.html

轉載本站原創文章請注明來源:天齊網

行業聚焦

2020考研今起正式報名,預計考生規模達330萬

IT之家10月10日消息 今日起至31日,2020年全國碩士研究生招生考試進入正式報名階段,考生可在每天9:00—22:00進行網上報名。近年來,考研報名人數不...[詳細]

滴滴回應 “吐槽大會” 已收集萬條用戶意見

近日,滴滴舉行了一場“七嘴八舌吐滴滴”節目,滴滴出行總裁柳青、員工代表、司機代表都紛紛登台,公開接受社會各界吐槽。今天,滴滴通過官方微博表示,“我們打着傘收到了...[詳細]

榮耀老熊詳解全場景加速引擎技術

IT之家9月20日消息 據熱心網友投稿,今日晚間榮耀業務部副總裁(産品)熊軍民科普全場景加速引擎技術。熊軍民概括稱,全場景加速引擎就是通過系統内核架構調整,優化...[詳細]

魅族手機官方詳解Flyme 8系統夜間模式2.0:全面深邃

IT之家9月18日消息 魅族8月底正式發布了全新的Flyme 8,官方稱Flyme用戶已達9000萬,Flyme 8研發耗時491天,采用Alive Desig...[詳細]

中國移動咪咕與韓國KT簽署5G新媒體内容合作諒解備忘錄

9月26日,中國移動咪咕公司與韓國電信公司KT(以下簡稱KT)在咪咕咖啡簽署5G新媒體内容合作諒解備忘錄,雙方将圍繞超高清視頻、遊戲内容、VR内容、音樂内容等領...[詳細]

科學科技

更多

安裝Windows 10補丁KB4515384後,部分用戶遭遇網絡适配器和操作中心Bug

 

IT之家9月16日消息 Windows 10 KB4515384是微軟于9月10日發布的最新累積補丁更新,修複了高CPU...[詳細]

一加7T系列全球發布會時間官宣 國行版亮相時間尚未公布

 

在下半年的熱門旗艦手機中,近年來熱度不斷上升的一加旗下即将亮相的一加7T系列必然是其中一款,随着越來越多的重磅旗艦亮相,...[詳細]

watchOS 6正式版已推送 六大全新功能提前預覽

 

Apple Watch今天推出了一項重要的軟件更新,為現有型号帶來了大量新功能。在iPhone更新到iOS 13後,從手...[詳細]

蘋果回應iPhone漏洞問題:确實存在但被誇大

 

IT之家9月7日消息 谷歌近日發布了一份關于蘋果操作系統漏洞的深度研究彙編,此事一出也在網上引起了讨論。不過蘋果官方近日...[詳細]

京東夜經濟數據:滬夜間訂單量最高,京津最愛吃零食

 

8月27日消息,京東大數據研究院聯合北商研究院發布《2019上半年互聯網夜經濟報告》。報告顯示,廣東、北京、江蘇、四川、...[詳細]

一周排行每月關注