2019年4月11日下午,华为P30系列中国发布会举行,在会上,华为非常罕见地发布了一款名为”方舟“的编译器,虽然只是惊鸿一瞥,但是华为的野心已经可以预见了。众所周知,国内智能手机高度依赖谷歌的安卓系统,但是安卓由于本身基于Java虚拟机,导致碎片化、速度慢等问题,这是很难避免的,所以唯一的办法就是彻底抛弃安卓,拥抱更完美的系统。
在目前的环境下,智能手机除了安卓外没有任何系统可用。然而华为早在几年前便开始了自研系统麒麟OS的研发,目的就是有一天抛弃安卓,走上苹果式的软件+硬件双封闭道路,不再被安卓卡住脖子,这件事阿里做过,微软也做过,但无奈都因为生态问题失败了。一个系统是否能发展起来,关键是软件厂商是否愿意去开发配套的应用,在生态上,安卓凭借早期的开源优势成功占据第一把交椅,目前仍处于垄断位置。
所以,华为要想发展麒麟OS,首要问题也是生态,如何保证自己的系统能快速适配大量软件?答案当然是直接适配现有软件,这样厂商就能用很小的代价进行完整的开发,这时,华为适时地发布了方舟编译器。在小编看来,这个编译器才是本场发布会最大的亮点。
方舟编译器可以直接帮助软件厂商提升App在安卓系统上的运行速度,它是怎么做到的呢?安卓系统基于java虚拟机,而java是一种混合型语言,为了跨平台,java采取了预编译+虚拟机的方式运行,实际上也可以看作是一种解释型语言,它将源码编译为java字节码,然后由虚拟机一行一行的读取字节码并执行。相对于Java来说,c语言作为老牌编译型语言,直接将源码编译为机器码,由系统底层直接运行,速度非常快。根据粗略统计,c语言的运行速率大概是java的10~30倍。
根据发布会的展示图片,方舟编译器很可能将软件的部分甚至全部模块直接编译为了机器码,由安卓的内核Linux直接运行,这就相当于c与java的区别。不难发现一个关键点:方舟让App跳过了虚拟机,直接动用了内核。这是什么概念呢?现在的安卓App都是由java语言开发的,其编译运行也借助java虚拟机,华为搞了一个编译器,让App不再需要java虚拟机了,也就是说,只要麒麟OS能够运行机器码,就可以直接适配到所有的安卓App。
接下来,我们喜闻乐见地看到华为将其面向业界开源(源码保密),并迫不及待地号召所有App厂商进行使用了,这就摆明了:我给你提供了一个编译器,只要你把软件包放上来编译一小会,就可以让你的App运行更快,当然,这也会让你的App不再依赖java虚拟机(所以我家的麒麟OS也可以直接运行了),那么厂商是用还是不用呢?我相信接下来的安卓生态圈恐怕会产生大地震,至少,谷歌和美国政府是肯定坐不住了。
除了方舟,华为还紧跟着发布了超级文件系统EROFS,文件管理是操作系统的五大职能之一,主要涉及文件的逻辑组织和物理组织,目录的结构和管理,在操作系统中是非常重要的一环,麒麟OS也应该是采用该文件系统。那么EROFS有什么优势呢?它的全称是Extendable Read-Only File System(可扩展只读文件系统),是一个基于ROM的文件系统,根据专业测试,EROFS在低压缩比下的性能比传统EXT4(安卓现在所使用的文件系统)要好近3倍,高压缩比的情况下性能也与EXT4相当。
通过图片可以看出,该系统全方位提高了系统的流畅度、响应速度,最直观的体现就是打开App很快,图库浏览不再出现加载白块,网页浏览和App页面拖拽不卡顿等。同时,还可以降低系统占用空间,避免低内存情况下的App卡顿问题。最重要的,它很安全,EROFS的系统分区是不可被任何第三方改写的,它可以极大地保障用户地个人数据安全。
此次发布会的方舟编译器+EROFS文件系统仅仅是华为自研操作系统地开端,相信后续发布会上华为将带给我们更多的惊喜,再过不久,我们或许就能真正用上国产自研系统麒麟OS了。
上海之声版权及免责声明:
1、凡本网注明 “来源:***(非上海之声)” 的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。
2、如因作品内容、版权和其它问题需要同本网联系的,请在30日内进行。