華為的鴻蒙系統(tǒng)是如何做到兼容安卓應(yīng)用的?
我覺得鴻蒙不一定兼容android,老于雖然這么說,但是我估計(jì)懸。我們都知道android的應(yīng)用都是基于JVM去編譯的。也就是目前的 android apk的包都是一堆.class文件。這些.class文件需要靠jvm去解釋執(zhí)行。目前android 系統(tǒng)引入的是包含編譯、解釋和 JIT 。詳細(xì)而言,當(dāng) App 安裝時(shí),首先會(huì)根據(jù) JIT 編譯器的分析結(jié)果,一方面,在設(shè)備充電或其余空閑時(shí)間對(duì)「cold code」進(jìn)行解釋;另一方面,對(duì)「hot code」在實(shí)際使用時(shí)由 JIT 進(jìn)行編譯。這是android的編譯原理。那鴻蒙呢?鴻蒙是基于方舟編譯器進(jìn)行編譯的。它沒有jvm這一層,所以他如何解析.class字節(jié)碼呢?如果它能解釋.class文件,它就可以兼容android,也就是將來目前的android的應(yīng)用可以直接安裝到鴻蒙的系統(tǒng)中。從目前開源的代碼中,還不能看出它的實(shí)現(xiàn)邏輯,所以我猜它應(yīng)該不兼容android。
我猜將來的apk是要直接編譯成二進(jìn)制,機(jī)器可以直接識(shí)別。這就要求現(xiàn)有的app需要重新打包,可能借助華為提供的某款idea吧!過方舟編譯器,不僅可以解決應(yīng)用卡頓的問題,還可以為系統(tǒng)操作流暢度提升 24%、系統(tǒng)響應(yīng)速度提升 44%,第三方應(yīng)用操作流暢度提升 60%。
鴻蒙是一個(gè)創(chuàng)舉,希望可以成功。國(guó)內(nèi)的OEM廠商就可以擺脫google android,將來出海也不會(huì)受google限制。