Re: [新聞] 解讀| 華為方舟編譯器是如何實現Android

作者: jeff40108 (死得腥羶豔油劑是他)   2019-04-26 14:03:56
一個程式要在不同型號的手機上跑,要有不同的設定
所以同一個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
優化、監控、和諧、賺上架費、廣告一舉多得
作者: david7112123 (Ukuhama)   2019-04-26 16:56:00

Links booklink

Contact Us: admin [ a t ] ucptt.com