龙空技术网

华为方舟编译器到底有多牛?是怎么让安卓系统更流畅的?

互联网乱侃秀 563

前言:

如今朋友们对“安卓c编译器推荐”大约比较注重,同学们都需要学习一些“安卓c编译器推荐”的相关文章。那么小编在网摘上收集了一些关于“安卓c编译器推荐””的相关文章,希望兄弟们能喜欢,大家一起来了解一下吧!

众所周知,国行版P30系列手机发布后,华为还带来了重量级工具--方舟编译器。

按照华为的说法,通过这个编译器,系统操作流畅度将提升24%,而系统响应速度将提升44%,至于第三方应用重新编译后流畅度可提升60%!因为是开源的,应该是没有吹牛,是真实的这么厉害。

但自方舟编译器之后,众多的网友就开始帮华为吹牛了,说这是华为分割安卓生态的开始,甚至将其提升到了华为自研操作系统的高度,说就是自研系统。

但事实上这到底是什么东西,大家又真的理解么?一个编译器就成了自研操作系统?是不是有点吹过了点?

所谓的编译器是指将程序(APP)语言翻译成机器语言的东西,简单的来讲,安卓系统中的APP基本上是JAVA写的,JAVA语言机器不懂,必然要有编译器来帮机器翻译下。

安卓系统中并不是没有这样的编译器,在安卓5.0之前用的是这个编译器-- Dalvik ,确实是边解释边执行,效率低。于是在安卓5.0的时候,谷歌抛弃掉了它,换上了 Art。

Art是在APP初次安装时,就将APP解释成机器码,这样速度就快了,但坏处是安装时速度慢,要等很久,因为是边安装边解释。于是到安卓7.0时,谷歌又加入了JIT,这个是及时编译。

所以现在安卓系统中是Art、Jit同时时存在,即初次安装APP时,会有部分核心代码直接编译成机器码存放。还有没有编译的部分会在执行时用Jit去执行编译,这是谷歌在权衡了安装时间、空间、执行速度、效率之后做的取舍,算不上最佳。

接下来说说方舟编译器了,它就是上文所说的Art、Jit这些编译器类似的东西,主要作用就是把APP开发时就直接编译器成机器码了,这样当APP安装到系统中,就不需要通过安卓系统中的编译器去解释,这样自然效率更高一点。

我这样一解释,相信大家就明白了,这是一个在APP开发时就将Java等语言直接编译成机器语言的工具,这和所谓的自研操作系统完全不是一回事,不知道为何大家就觉得这是华为的自研系统了。

当然,如果华为真要自研系统,最终的可能是将这个编译器变成自研系统的开发工具,这样通过这个工具开发出来的APP,就是在机器码的形式存在。

但那也是以后的事情,先要等自研系统出来,同时还要有APP厂商愿意用这个编译器来基于自研系统开发APP,路还很漫长。

标签: #安卓c编译器推荐