近日,华为已经向部分拥有测试资格的开发者推送了鸿蒙系统2.0 Beta版,全网都非常关心华为鸿蒙系统的表现。有幸测试的开发者们也向外公开了测试的结果,总结如下:

很多人看完都很好奇两件事,第一就是鸿蒙2.0会不会就是套壳安卓10 ?第二就是为何安卓的APP在鸿蒙运行更流畅?

华为鸿蒙系统是不是套壳安卓(华为手机鸿蒙系统2.0最新版本)(1)

1、鸿蒙2.0是不是套壳安卓?

虽然UI界面没什么变化,APP也兼容安卓,但鸿蒙2.0真的不是套壳安卓。华为之所以这么安排是为了让用户和开发者都可以无缝过渡。

①、市场角度

首先,现在的手机系统市场已经被安卓和IOS完全占领,用户也已经习惯了安卓和IOS的风格。而华为鸿蒙系统则不同,市场占有率为零。用户和开发者对它都是完全陌生的。如果鸿蒙UI变化太大,用户可能会很不适应。当使用上因为不适应造成麻烦时,很多用户就会放弃它。

华为鸿蒙系统是不是套壳安卓(华为手机鸿蒙系统2.0最新版本)(2)

其次、APP方面如果不兼容原有EMUI 的话,用户会因为没有APP可用,被迫放弃鸿蒙。开发者也会因为用户太少而不愿意开发新的应用。这就是一个系统的生态问题。苹果和安卓都已经形成了各自的软件生态,在生态的影响下也形成了各自的用户群体。它们互不兼容,对彼此影响不会太大。鸿蒙因为是初生系统,和安卓同源linux。所以,兼容安卓是最好的选择。

华为鸿蒙系统是不是套壳安卓(华为手机鸿蒙系统2.0最新版本)(3)

②、技术角度

华为鸿蒙系统和安卓虽然都是基于linux开发而来,但鸿蒙系统是一个基于微内核的分布式操作系统。微内核仅仅打包了操作系统必须的核心模块,拥有最高的系统权限,其他外围功能模块权限低。任何外围功能模块出问题,都不会影响系统的运行。所以,整个系统开发起来比较困难,但华为克服了这些困难。同时,华为鸿蒙系统取消了ART虚拟机的运行方式,它将应用程序直接编译成二进制机器码,这样使得软件运行效率更高。分布式的架构,使得它将来可用于电脑、手机、汽车、电视、以及可穿戴设备等全部领域。

华为鸿蒙系统是不是套壳安卓(华为手机鸿蒙系统2.0最新版本)(4)

而安卓系统采用的宏内核设计,宏内核包括了操作系统的大部分功能和模块。这些功能和模块都拥有系统最高权限,任何一个功能和模块出了问题,都会导致安卓系统出现故障。但这种架构的系统开发难度较低,谷歌当年就选择了这种方式。同时,安卓使用了虚拟机的方式来运行APP。使用久了,系统会变得越来越慢。

华为鸿蒙系统是不是套壳安卓(华为手机鸿蒙系统2.0最新版本)(5)

★从上面两个方面来看,鸿蒙系统绝对不是套壳安卓。而是全新设计的未来操作系统。值得用户和开发者去尝试体验。

2、安卓的APP在鸿蒙兼容运行,居然更流畅?

要想知道这个问题的原因,必须从安卓和鸿蒙系统的原理出发。

①、安卓APP的运行方式

众所周知,安卓程序基本上都是用java语言编写。而java语言编写的程序要想在机器上运行,必须将源代码翻译成字节码。然后在将字节码翻译成二进制的机器码。这些翻译又有两种模式:

这两种模式中,华为Emui 是支持ART模式的,鸿蒙系统在此之上做了升级。

华为鸿蒙系统是不是套壳安卓(华为手机鸿蒙系统2.0最新版本)(6)

②、鸿蒙系统运行APP的方式

鸿蒙系统是采用微内核+AOSP(安卓10)双架构。对ART模式做了一个重要的优化升级。那就是方舟编译器替代了AOT编译器。方舟编译器是基于AOT编译器开发而来,但完全摆脱了java虚拟机的机制,将高级语言的字节码提前编译成二进制代码,让CPU直接运行。同时,方舟编译器在编译过程中还有很多算法的优化(比如:内存回收机制)。这就导致通过方舟编译器编译的程序比之前AOT编译的程序,运行速度提升了60%。除此之外,华为的超级文件系统EROFS,具有更高的压缩率和更高的读取速度。这也对提升APP运行效率有不小的帮助。

华为鸿蒙系统是不是套壳安卓(华为手机鸿蒙系统2.0最新版本)(7)

总结

华为鸿蒙系统2.0是基于微内核的分布式操作系统,绝对不是套壳安卓的系统。它的方舟编译器和超级文件系统可以大大提升兼容APP的运行效率。如果开发者直接在鸿蒙系统上开发新的APP,效率会有更大幅度的提升。目前,华为已经提供众多SDK包、子系统源代码给开发者。希望鸿蒙生态越来越好!