解讀| 華為方舟編譯器是如何實現Android - 手機討論

Table of Contents

一個程式要在不同型號的手機上跑,要有不同的設定

所以同一個App下載到不同手機還要編譯+安裝

華為就是先編譯完直接下載執行碼,但每一個不同型號的手機都要各自優化

對系統程式(Andriod本身)而言當然很好,對其他App就不實際


: 按照華為方面的說法,採用華為編譯器之後,提升效果如下:
: EMUI 9.1 僅僅對系統組件System Server 應用了方舟編譯器之後,系統流暢速度提升了24%,系統響應速度提升了44%;
: 第三方應用(目前採用了新浪微博極速版)的操作流暢度提升了60%。

這邊的盲點在於系統編譯跟優化耗時耗人力

等到android 11,12出來時沒人會管你的舊手機

跟iOS更新一樣,你就永遠別更新


: 不可忽視的是,實際上,要想實現華為所言的效果,就首先需要第三方的應用開發者採用方舟編譯器對自家的App 提前進行改造,從而能夠上架華為應用商店——這也是余承東在4 月11 日的發布會呼籲開發者積極參與的原因。

就是要開發者自己優化,但優化的版本只能在同型手機上跑

真的在寫App都比較注重相容性,老闆才懶的優化哩


: 除了代碼編譯,方舟編譯器也提供了更高效的內存機制,它與Android 內存回收的不同之處在於:
: 內存管理是程序開發與運行時需要重點考慮的部分,也和系統流暢度息息相關。Android 在內存回收上採用集中回收機制,發聲全局回收時更需要暫停應用,這也是隨機卡頓的根因之一。而方舟編譯器提供了更高效的內存回收機制,回收時無需暫停應用,隨時用隨時回收,大大提高運行速度。

同上,還是要開發者優化


: 另外,在方舟編譯器的編譯環境下, 還可以對代碼進行優化。目前,由於Android ART 的AoT 和JIT 動態編譯因為是運行在手機上,受資源所限,因而只能使用簡單的優化算法。而方舟編譯器由於是在應用開發階段進行編譯,所以可以允許不同應用靈活採用不同的編譯優化方案,而且因為在開發環境編譯不會受到手機性能的限制,可以使用更多先進的優化算法,從而使得每個應用的性能達到最佳。
: 2019,全面開源

開源不等於安全

編譯後的機器碼會比Java更難分析

即使編譯器本身安全,也無法阻止開發者加入惡意程式碼

Google 本身也不支持,所以這些App也不會在商城上架



講白了這個編譯器只是為了擺脫Google

優化、監控、和諧、賺上架費、廣告一舉多得


--

All Comments

Lydia avatarLydia2019-04-28
我覺得公布compiler原始碼之後可能就被告了
Delia avatarDelia2019-04-30
很好 你明天去估狗抱到 怕埋沒你了
Gilbert avatarGilbert2019-05-01
Connor avatarConnor2019-05-03
說得不錯 但請改成支援
Damian avatarDamian2019-05-05
推監控,嘔嘔嘔嘔華為
Sierra Rose avatarSierra Rose2019-05-07
我可以理解成p 30版本和mata 20版本的FB要獨自寫這樣嗎?
Una avatarUna2019-05-09
講什麼屁話?用c跑出executable也無法阻止開發者加惡意內容 所以c也不能用了嗎
Hedwig avatarHedwig2019-05-10
安全本來就無關compiler 你開車不專心車禍了怪馬路耶
Mary avatarMary2019-05-12
樓上,語言都一樣,只有編譯方式不一樣c是語言,android 用的是java
James avatarJames2019-05-14
越底層的程式碼越難驗證安全性
Isabella avatarIsabella2019-05-16
蘋果的ipa檔就是binary你也看不到源碼 所以蘋果也有問題嗎
Dinah avatarDinah2019-05-17
這篇寫法好像做成executable就得不安全一樣
Liam avatarLiam2019-05-19
安全性是由商店經營者維護的有些非app store下載的ipa當然不安全
Carol avatarCarol2019-05-21
但iOS就這麼搞得 有問題嗎
Jacky avatarJacky2019-05-23
附帶要求企業憑證那種就是沒有經過apple審核的所以才說華為這麼做主要是想跟估狗打對台
Madame avatarMadame2019-05-25
你覺得從估狗store下載的跟從華為下載的哪個安全?
Yuri avatarYuri2019-05-26
辛苦了
Isla avatarIsla2019-05-28
Xanthe avatarXanthe2019-05-30
說ios沒問題的要不要google一下XcodeGhost
Skylar DavisLinda avatarSkylar DavisLinda2019-06-01
支援
Hazel avatarHazel2019-06-02
Dora avatarDora2019-06-04
同意這個說法
Hazel avatarHazel2019-06-06
本來就是這樣 這麼好康的話 google 自己不會做嗎?根本沒什麼難度 搞成現在這麼複雜 本身一定有原因
Suhail Hany avatarSuhail Hany2019-06-08
某個id還把她捧成中國貢獻世界的工具 笑死
Lucy avatarLucy2019-06-10
問題是開發者社群誰要跟著華為走 除非有利可圖
Sierra Rose avatarSierra Rose2019-06-11
安卓上的APP就已經比iOS難賺這麼多了 誰想多事
Tom avatarTom2019-06-13
另外這原文誇張了這個方法解決卡頓的能力
Andrew avatarAndrew2019-06-15
真的在頓主要也不只這些原因啦 還垃圾回收勒
Agatha avatarAgatha2019-06-17
有看到Lumia625說的那篇,striving推文整個吹捧#1SmPSUL6 (MobileComm) http://j.mp/2GEEA6KXcodeGhost還殷鑑不遠,華為就急著想如法炮製了?XD
Hedda avatarHedda2019-06-18
AOT早有了,重點就是這算是針對自己的手機下去客制化,就像三星有針對獵戶座客制化瀏覽器一樣,不可能大規模推廣,就算你開源了,還是有相容性的問題,小廠不可能花時間去維護更新,大廠又看不上你華為的軟體技術,最後就是商店的上架問題,你大中國沒預載google可以自己玩自己的,但全世界大部份都是從play商店下載更新,請問你不同的設備要發幾個版本?還是要像三星做自己Store?
Jack avatarJack2019-06-20
中國人只能解決自己的問題,要用中國人的方法解決別人的問題通常是自尋死路