鹰潭新闻网

鹰潭市人事考试网_鸿蒙能否是PPT我不知道,方船已实锤了

来源:鹰潭信息网 发布时间:2019-09-23 浏览次数:

自从上个月华为开发者大会发布了鸿蒙,很多人的目光就聚焦在鸿蒙的开源计划上。

没有见到实物,大家其实心里还是没底。也有爱之深责之切的开发者表示鸿蒙只是个 PPT 系统。但是 8 月 31 日,华为开源了方舟编译器的部分源码,各种声音都小了下来。

看的懂的看门道去了,可看不懂咋办。

托尼觉得要知道方舟编译器到底怎么样,首先得知道它是什么

其实编译器也是程序,它的功能就是把程序猿们写的代码翻译给机器听。

编程说白了就是你写一段话( 一段代码 )去命令机器做事。可代码终归是人类语言,机器理解不了。

用 Python 告诉电脑输出一句话 “ Hello World ”,你可以这么写:

print("Hello World")

运行结果

为了让机器听懂我们的话,每套语言一般都会有一套编译器,专门把代码翻译成机器听得懂的话。

而方舟编译器不是为了适配某套语言,它想要能够编译尽可能多的语言

可能有人会奇怪:明明每套语言都有成熟的编译器,为什么要去做一个多余的东西呢?

道理很简单。之前国内手机厂商的系统都是基于安卓开发的,虽然叫着各种 OS 说白了还是安卓的机制。

最早的安卓应用基本是用 JAVA 写的,但安卓的内核 Linux 中并没有 JAVA 的编译器。所以想让应用跑起来,还得嵌套一个 JAVA 虚拟机

最早的时候安卓运行在一个叫 Dalvik 的虚拟机上,里面集成了一个解释器,每次用户在安卓手机上运行 APP 时,就会叫醒这个解释器,把程序翻译成机器码运行。所以最早的安卓很容易卡到飞起。

当然,经过这么长时间,安卓已经流畅了很多。不仅用上了新的 ART ( Android Run Time )虚拟机,还有在设备空闲时对程序进行静态编译的 AOT ( Ahead of Time )机制,再加上随时准备救场的 JIT ( Just in Time,即时编译 ) 机制和最早的解释器。

不过不得不承认,再怎么优化,多了编译的过程怎么都没省略编译直接运行来的快。方舟编译器的作用就是去掉这个编译的过程,让程序直接运行在操作系统上。

就像你为了接待外国友人,本想着语言不通花大价钱雇了翻译。结果外国友人一张嘴,嚯,中文八级!机器见了经过方舟编译的应用也是这个心情,别提多爽了。

方舟不仅让应用直接运行在操作系统上,还减少了多种语言互相调用带来的性能损耗。

前面说过安卓的应用有多种语言。现在的头部应用大多都是 Java / C / C++ 等混合语言编写的,不同的语言使用规范也不同,这就需要通过一个叫 JNI ( Java Native Interface )的接口进行不同语言的交互。

这不仅多了一个步骤,还会占用硬件资源。

不过管你什么语言,开发的时候方舟编译器就把程序语言做了统一处理,应用运行时完全没有这部分额外的损耗。

安卓祖传的 GC 内存回收也优化成了可以实时回收的机制。

根据华为官方测试,通过方舟编译器替换了系统后台服务的华为手机,系统操作流畅度和系统响应性能都可以明显提升。

听起来是挺好的,可到底真的假的?又不是谁都懂技术上的东西,之前鸿蒙 OS 的消息就众说纷纭的。

不过随着 8 月 31 日方舟编译器的开源,托尼就放心了很多。

“开源( open source )”指的是软件的源代码对其他人提供,需要的人都可以查看、复制、学习、修改或分享代码。

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片