回覆列表
  • 1 # 科技數碼隨時答
    當然這一方面剛才講過了是生態的問題,而華為所解決的是安卓的執行方式:

    那我們首先知道安卓的現狀:現有的Android系統是在手機環境中進行編譯,透過ART虛擬機器(Android Runtime)一邊翻譯一邊執行,這會造成資源佔用過多,進而影響到程式執行的效率。

    而方舟編譯器的作用:就是可以讓開發者在開發過程中直接把多種高階語言編譯為機器可識別的指令,然後打包成APK,手機在安裝程式之後便可直接識別並執行程式。從而提高軟體的執行效率,簡單點來說的話就是在應用打包成APK的時候,直接把Java程式碼編譯成機器碼,將下載到的安裝包最佳化成機器指令,這樣系統就可以直接執行,CPU直接執行被編譯好的命令。

    所以由於沒有了ART虛擬機器佔用系統資源,且不用虛擬機器編譯過程,程式的執行效率將會得到提高,而且方舟編譯器在編譯時為程式配備了及時回收的記憶體處理機制,相較於之前系統需要全域性暫停才能回收資源的方式,系統在執行的流暢度上得到了提升。

    總結

    這個當然不是華為一個廠商可以完成的,就像安卓的生態一樣,我們下載的APP是多種多樣的,因此軟體存在各種編譯方式,甚至是層次不齊的軟體質量,所以要想真正的改變執行流暢性的話,我們需要的是好的生態和更好的執行方式,而華為解決了後者,前者需要各個廠商的配合,因為軟體確實是很多,只有靠華為一個廠商的話,當然是忙不過來了,所以如果想真正的應用還需要時間,而現在雖然華為手機有進行了應用,但是也只是一小部分,沒有進行全部。

    回答完畢

  • 2 # LeoGo科技

    第一:編譯器

    簡單的解釋是:將外語(透過翻譯)翻譯成你能聽懂或者看懂的中文!

    複雜的解釋是:將高階語言編譯成可以被機器執行的機器碼。

    第二:方舟編譯器和現有安卓系統的區別

    複雜的解釋:現有安卓系統,在執行一款程式或者App時候,需要經過VM(虛擬機器)進行編譯,而且還是直譯器和編譯器同時工作,才能將高階語言轉化為機器碼。

    方舟編譯器,開啟的App的時候,直接開啟,不需要經過編譯器編譯!

    簡單的解釋:現有安卓系統就是我們吃剛摘下的橘子,要剝掉橘子皮吃;方舟編譯器,直接將橘子變成了罐頭,開啟就能吃!

    第三:怎麼解決卡頓的?

    這裡要提到一個詞彙,記憶體回收機制!我們現在使用的Android 記憶體回收都是集中回收,因為集中回收要求,所以會在回收時暫停應用,所以手機運存會卡頓的原因!

    而方舟編譯器的回收能夠更高效,不用在回收時,進行App的暫停,能夠隨時用,隨時回收,讓手機不容易卡頓。

    所以,方舟編譯器透過新的記憶體回收機制,新的靜態編譯,解決了在Apk開啟時的編譯,從而提升手機的流暢性。

  • 3 # Geek視界

        方舟編譯器又是華為的一項“黑科技”,解決了安卓手機“卡頓”的問題,手機執行流暢性得到了很大的提升,那麼方舟編譯器是如何做到的呢?下文說一說。

        1、什麼是編譯器

        普通使用者可能很少用到編譯器,編譯器是面向“程式設計師”的,將高階語言(安卓系統大多采用Java語言)編寫的原始碼“翻譯”成機器可以認識的01二進位制指令,只有編譯後的程式機器才能認識。

        可以說編譯器充當了軟體和晶片之間的橋樑,編譯器的效能、效率直接影響到機器的執行效率。

        2、方舟編譯器

        目前,安卓手機的應用程式大多在JAVA虛擬機器上執行,採用了“邊解釋邊執行”的動態編譯機制,記憶體回收採用了全域性回收機制,因此存在執行效率低、耗費系統資源多、系統流暢性差的問題。安卓手機都比較“吃”記憶體。

        方舟編譯器改變了目前“動態編譯”的形式,一次性將JAVA編寫的應用程式編譯成可以直接在硬體上執行的程式碼,實現靜態編譯,不需要藉助“JAVA虛擬機器”,消除了虛擬機器動態編譯的額外開銷,並且實現了記憶體的隨時回收,提升了系統執行的流暢度。

        3、與傳統編譯方式的比較

        方舟編譯器實現了程式碼的靜態編譯,提升了應用的執行效率。這裡打個比方,如果把編譯器看做是一個翻譯,如果我們到了另個一個國家,原本只能透過同聲傳譯(虛擬機器)進行交流溝通,存在效率低下的問題,而方舟編譯器相當於你直接獲取了語言能力,擺脫了同聲傳譯的限制,可以方便的與對方溝通。

        總之,方舟編譯器實現了原始碼的靜態編譯,編譯後的應用程式直接執行在硬體上執行,擺脫了JAVA虛擬機器的限制,提升了執行效率,改善了記憶體回收機制,系統執行更加流暢,有可能改變安卓手機“吃記憶體”的問題。

  • 中秋節和大豐收的關聯?
  • 有沒有提高寫作的app?