運行方舟編譯器編譯出來的APP,手機上必須預置方舟編譯器嗎?其他手機運行會變快嗎?

caiyi74362036


用戶的手機上並不需要預置方舟編譯器,因為這個方舟編譯器是給應用開發商用的,跟用戶唯一的聯繫就是,可以讓用戶的手機運行更加流暢,所以他並不會對用戶的使用習慣造成什麼影響,我們還是正常下載-安裝-使用各種APP即可。

如果想要了解其中的原因,這就跟方舟編譯器的運行原理有很大的關係了,這裡我們簡單扼要的介紹一下:

根據華為的介紹,方舟編譯器是華為投入數百人的專家團隊,歷時五年開發的一款編譯工具,主要針對安卓系統邊解釋邊執行的低效處理方式進行了優化,因為我們目前所使用的安卓系統,經過了這麼多次技術改進卻始終繞不過虛擬機這道坎,虛擬機中本身自帶了編譯器和解釋器,作用是將開發者使用的高級語言轉換成機器碼,當我們在使用APP的時候,編譯器通常是結合上下內容翻譯一大段,這樣就使整個過程呈現出斷斷續續的狀態,卡頓也就來源於此。

針對這種情況,方舟編譯器對其運行邏輯進行了優化,它繞過了虛擬機VM,使APP在開發階段就被提前翻譯成了機器碼並打包,我們再下載使用時無需再經過虛擬機進行翻譯,而是全程執行機器代碼,運行效率得到大幅提升,最終憑藉這款編譯器華為EMUI系統提升了24%的流暢度,響應速度提升了44%,而第三方軟件的流暢度可以提高60%。

當然這樣解釋起來看似很簡單,但是在技術時間方面其實是非常複雜的,不過方舟編譯器也有一個問題,那就是目前只適配麒麟芯片,而且只支持經底層優化跳過安卓虛擬機的EMUI,但畢竟這款編譯器是開源的,其他手機廠家都可以基於方舟適配自己的手機芯片,從用戶體驗上來講自然是好事,但小米、OV他們是否會低下頭使用華為推出的技術,未來又該如何向用戶解釋,這一點對於愛面子的國產手機廠商來講也是挺為難的。


木石心志


目前方舟只適配麒麟芯片,經方舟編譯的APP目前只支持華為手機,而且只支持經底層優化跳過安卓虛擬機的EMUI。但方舟是開源的,所有的手機廠家都可以基於方舟適配自己的手機芯片。

但這有個問題,安卓的兼容性變差了,碎片化更加嚴重,因為即使都是高通芯片,小米OV適配的編譯器也許都不一樣,那麼以後就會出現小米OV不同版本的微信,嚴重割裂安卓市場。解決方法只有統一方舟編譯器,適配所有手機芯片。之所以谷歌不幹掉虛擬機,也是因為直接編譯對作為一個整體的安卓一點好處沒有,只是對華為三星這些大廠商有好處。


心帆遠影


    採用華為方舟編譯器編譯之後的APP,據說運行流暢度可以媲美IOS,改善了安卓系統內存回收機制,徹底告別了“卡頓”。

    用戶手機不需要安裝方舟編譯器,只需要軟件編寫者將APP源代碼通過方舟編譯器編譯形成APK文件就行。那這個方舟編譯器到底是什麼黑科技呢,下文具體說一說。


    方舟編譯器

    先說一說什麼是編譯器,學過編程的人都知道,APP是通過高級語言比如JAVA編寫的,需要轉換成機器能夠認識的語言,而編譯器就擔任了這個角色,將高級編程語言寫的源代碼翻譯成機器認識的二進制代碼。


    安卓手機採用了JAVA虛擬機的形式,所有的APP需要在虛擬機上邊解釋,邊運行,所以系統資源佔用比較大,因此對於安卓手機來說,運行內存越大越好,目前8G的運行內存已經成為主流。

    華為的方舟編譯器,程序員完成APP源代碼編寫之後,經過方舟編譯器編譯,直接編譯為在安卓系統可以運行的代碼,實現靜態編譯,不需要JAVA虛擬機,同時改進了內存回收機制,隨時回收內存,惡如不是將垃圾堆在一起回收。採用華為的方舟編譯器,有可能告別安卓手機大內存的時代。


    方舟編譯器的優勢

    相比目前普遍在JAVA虛擬機上運行APP,經過華為方舟編譯器編譯的應用有以下優勢:

    1、應用程序直接實現靜態編譯,不需要運行在JAVA虛擬機上。

    2、優化了內存回收機制,隨時回收內存,而不是像JAVA虛擬機一樣累積之後回收。

    3、方舟編譯器將開源,根據華為官方公佈的日程,將於2019年11月,實現方舟編譯器的開源,促進方舟編譯器更好的發展。


    總之,方舟編譯器剛剛推出不久,是否能夠得到大規模的推廣和普及,現在還很難說,畢竟應用開發商和手機廠商有自己的考慮。

如果覺得對你有幫助,可以多多點贊哦,也可以隨手點個關注哦,謝謝。

Geek視界


題主其實對華為方舟編譯器有些誤解。方舟編譯器能加快安卓應用的安裝、啟動和運行速度,就算手機沒有預置方舟編譯器,APP還是可以正常運行,不存在被編譯出來的APP。

說明這個問題之前,我們先來看看究竟什麼是編譯器。相信懂點編程的人都知道,計算機語言和我們的言語不同,如果我們想寫出一段程序,必須用計算機能看懂的言語進行編程,然後計算機才會按照指令去運行,這個過程我們叫做編譯。這就好比我們要和外國人交流,是先把我們想要表達的意思翻譯成外語,然後再把外國人的意思翻譯成中文。

這對於安卓系統是一個道理。與IOS系統不同,安卓系統是基於Java編程語言開發的。雖然Java在開發時更易開發,但手機不能直接識別。目前谷歌給出的最新解決方案是利用手機上的虛擬機進行同步編譯,這樣無疑會增加手機的負擔,使得系統在運行過程中變卡頓,尤其是當後臺運行程序變多時。



而華為方舟編譯器是業內第一款支持多語言同時編譯的編譯器,通俗易懂的說,華為方舟編譯器能直接將系統底層的Java語言翻譯成機器語言,並且該翻譯器是在系統代碼上完成的,並不會加重對手機的負擔。目前絕大部分安卓應用在開發時都不會使用單一語言,舉個例子,某APP的代碼使用了C語言和Java語言,當這個程序運行時,安卓系統要同時翻譯這兩種語言,然後再把兩者的結果相互混合。在有了方舟編譯器後,編譯器能同時翻譯兩種言語,以此來提高運行效率。


不知道各位看官們是如何看待華為方舟編譯器的呢?歡迎在下方評論留言,讓更多人看到您的觀點,謝謝!


科飛貓科技公社


感謝您的閱讀!

國產手機其他系統如果使用方舟編譯器,會不會有一種認輸的感覺呢?!

你肯定和我一樣,對於華為方舟編譯器的原理還是一知半解。甚至於,我們會有這樣的疑惑?到底方舟編譯器能不能運用在所有安卓手機上,比如MIUI系統,或者Flyme系統,是不是也能使用方舟編譯器呢?

餘承東直接在微博上,發佈了一分鐘瞭解方舟編譯器視頻,在裡面這樣解釋了方舟編譯器:

編譯器:將一種語言(高級語言)編譯成可執行的機器碼!


方舟編譯器:將在APK打包中,直接講java代碼編譯成機器碼,這樣手機安裝後,可以直接執行!

你是否已經發現:目前的安卓手機,在安裝運行APK後,它還需要經歷了將軟件經過解釋器進行解釋,並且透過JIT逐級編譯執行!而如今的方舟編譯器,卻可以直接在程序開發階段,直接靜態編譯,讓我們的APK直接打包後,就能執行了!所以,能夠讓華為的EMUI9.1更為流暢!

現在我們瞭解兩個問題:

  • 國產手機系統會經過方舟編譯器編譯嗎?雖然EMUI9.1對系統服務組件進行了編譯,系統流暢度和響應速度提升。但是,國產的手機系統,是不會使用華為方舟編譯器來進行系統編譯,如果使用了方舟進行系統編譯,這似乎間接的說明了自己的系統不如華為系統。
  • App編譯,APP是第三方通過方舟編譯器編譯,這需要等開源,我覺得軟件廠商可能會使用方舟編譯器編譯。即使國產手機其他系統不進行方舟編譯器編譯,但是隻要APP進行了編譯,就是我們打開應用軟件的速度會提升,這也是一個好事。

不過,Flyme或者MIUI這樣的國產系統是不會使用方舟編譯器的,這和它們發展相悖,畢竟它們可以自己研發這方面技術,使用華為,實際上有一種認輸的感覺。因此,它們應該,不,肯定不會使用!


LeoGo科技


方舟編譯器開源的目的主要是培養系統生態,是為了在外國公司不提供系統並掐斷系統生態的現實需要情況下做出的生死存亡之舉。而且,該編譯器打破手機和PC之間的人為壟斷屏障,其程序編譯後兩者都可以運行。

華為那麼多系統研發人員絕不可能只研發手機系統,並且按照最壞角度考慮,其編譯後的程序運行對現有程序是有一定兼容,但防止以後的各種權益之爭,希望的是使用無爭論的方舟編譯器編譯程序,這其實在全方位保護各類個人或公司的互聯網著作知識產權。華為已經在這樣做了。

對於華為這樣做,外國公司特別美國跨國公司是恨到底的,但又不得不合作,並經由財團控制美國政府對華為進行打壓。所以,華為正處於生死存亡的關頭之說並不是假的。

其實到現在,中國政府完全要求美國政府提供所謂證據。其實美國政府得到了侵入華為服務器獲得的代碼但不符合已有編譯原理,打壓華為要扼制華為方舟編譯器系統開發,卻不能提供相關證據。現在華為堂堂正正推出方舟編譯器,提供美國政府獲取相關代碼入侵華為服務器信息給一些西方國家。下一步,將在法庭訴訟中提供不利美國政府及美國跨國公司的更多證據。


另眼角度


白話科普方舟編譯器是什麼?

可以把[方舟編譯器]理解成給軟件開發工程師用的工具,跟最終的軟件用戶無關。比如:工程師用DW寫程序開發網站,但是網站用戶瀏覽網頁不需要用DW;設計工程師要用PS設計圖片,但是瀏覽圖片的用戶不必用PS。

用方舟編譯器編譯過的APP和安卓系統為什麼可以讓手機變快?

  • 以前安卓手機的工作流程:人類下達操作指令 > VM(編譯器和解釋器)翻譯成機器碼 > 機器執行指令。
  • 方舟編譯器編譯後的手機工作流程:人類下達指令 > 機器執行。繞過了VM過程,把以前發出指令後才進行的編譯工作,在APP開發階段就提前編譯好了。
  • 因為節省了中間進行的編譯時間,所以使用方舟編譯器編譯過的APP和系統會變快。

綜上結論:

  • 手機不需預置方舟編譯器,因為他是一個給程序員開發APP程序的工具而已。

  • 使用方舟編譯器編譯的APP,不管裝在哪個手機上,都會變快。


手機功能科普


方舟編譯器是提供給軟件開發者使用的,和我們用戶沒有直接關係,只有等待第三方APP開發者使用方舟編譯器重新編譯後,我們再進行下載就可以提升APP的流暢度,並且只要是安卓機都可以進行體驗,這是一項非常利民的工程。



華為方舟編譯器簡介

方舟編譯器是華為歷時五年,經過數百人的專家團隊進行開發的一款編譯工具,主要針對安卓系統邊解釋邊執行的低效處理方式進行了改進。


按照官方的說法,現有的安卓系統經過多次的技術改進,始終繞不過虛擬機這道坎,虛擬機中本身自帶了編譯器和解釋器兩個翻譯官,作用是將開發者使用的高級語言轉換成機器碼,當我們在打開APP過程中,解釋器相當於實時翻譯,說一句翻譯一句,而編譯器則是結合上下內容翻譯一大段,這樣就使整個過程呈現出斷斷續續的狀態,卡頓也就來源於此。

方舟編譯器的運行機制和以上不同,它徹底繞過了虛擬機VM,使APP在開發階段就被提前翻譯成了機器碼並打包,我們再下載使用時無需再經過虛擬機進行翻譯,而是全程執行機器代碼,運行效率得到大幅提升。據官方介紹,在將華為EMUI系統組件進行重新編譯後就提升了24%的流暢度,響應速度提升了44%,而第三方軟件的流暢度可以提高60%。



目前華為EMUI 9.1中的系統組件就是被方舟重新編譯過的,另外第三方軟件中也只有微博極速版是重新編譯後的。官方宣稱將會在今年11月份正式向開發者開源,未來不分品牌,只要是安卓機都可以體驗到方舟編譯器為我們帶來的流暢體驗。


電子維修


如果方舟編譯器真能如華為所說帶來這麼大的流暢度提升,其他廠商很有可能會跟進。原因很簡單,

1:如果不跟進,其他廠商的系統流暢度會不如華為,與其他廠商系統發展不利。

2:其他廠商很難再研發跟華為匹敵的編譯器(連華為這種大廠都花了9年的時間研發,時間不予許)。

3:方舟編譯器開源啊,其他廠商很容易基於方舟編譯器在開發出新的編譯器(例如開源的linux,有很多系統也是基於它的,如安卓等。),這樣多少能撇開點跟華為的關係。


H2o


最好別用,不安全


分享到:


相關文章: