京东6.18大促主会场领京享红包更优惠

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 535|回复: 0

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

[复制链接]

15

主题

0

回帖

10

积分

新手上路

积分
10
发表于 2019-5-3 18:42:17 | 显示全部楼层 |阅读模式 来自 中国
众所周知,国行版P30系列手机发布后,华为还带来了重量级工具--方舟编译器。
$ B, [, p4 Y! N6 i5 i' j按照华为的说法,通过这个编译器,系统操作流畅度将提升24%,而系统响应速度将提升44%,至于第三方应用重新编译后流畅度可提升60%!因为是开源的,应该是没有吹牛,是真实的这么厉害。: ]) @, w2 O1 j7 y& {
但自方舟编译器之后,众多的网友就开始帮华为吹牛了,说这是华为分割安卓生态的开始,甚至将其提升到了华为自研操作系统的高度,说就是自研系统。, f6 B& h; m& P
但事实上这到底是什么东西,大家又真的理解么?一个编译器就成了自研操作系统?是不是有点吹过了点?/ Y6 }) P* i+ W6 i, C4 [* X( X
所谓的编译器是指将程序(APP)语言翻译成机器语言的东西,简单的来讲,安卓系统中的APP基本上是JAVA写的,JAVA语言机器不懂,必然要有编译器来帮机器翻译下。1 F9 u( a3 o0 h  n6 O$ g4 y
安卓系统中并不是没有这样的编译器,在安卓5.0之前用的是这个编译器-- Dalvik ,确实是边解释边执行,效率低。于是在安卓5.0的时候,谷歌抛弃掉了它,换上了 Art。# c5 P" j5 x6 f2 B1 {: h
Art是在APP初次安装时,就将APP解释成机器码,这样速度就快了,但坏处是安装时速度慢,要等很久,因为是边安装边解释。于是到安卓7.0时,谷歌又加入了JIT,这个是及时编译。
+ ^* `  ^& O' k7 G  u7 j所以现在安卓系统中是Art、Jit同时时存在,即初次安装APP时,会有部分核心代码直接编译成机器码存放。还有没有编译的部分会在执行时用Jit去执行编译,这是谷歌在权衡了安装时间、空间、执行速度、效率之后做的取舍,算不上最佳。4 m$ C; ?. j: N8 n7 c
接下来说说方舟编译器了,它就是上文所说的Art、Jit这些编译器类似的东西,主要作用就是把APP开发时就直接编译器成机器码了,这样当APP安装到系统中,就不需要通过安卓系统中的编译器去解释,这样自然效率更高一点。
: U! H2 t2 r8 t我这样一解释,相信大家就明白了,这是一个在APP开发时就将Java等语言直接编译成机器语言的工具,这和所谓的自研操作系统完全不是一回事,不知道为何大家就觉得这是华为的自研系统了。$ H" h+ a* ]$ s6 M0 T) {4 O
当然,如果华为真要自研系统,最终的可能是将这个编译器变成自研系统的开发工具,这样通过这个工具开发出来的APP,就是在机器码的形式存在。
# T& i4 X4 z0 x: b' q但那也是以后的事情,先要等自研系统出来,同时还要有APP厂商愿意用这个编译器来基于自研系统开发APP,路还很漫长。
8 Z; a' N0 f% l" w2 [
( J+ m4 ]! e& ^( n0 A9 d" }- v  ~来源:http://www.yidianzixun.com/article/0Ltv729H: T% h0 k) ?" H( ?/ ?7 E. d0 V
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

帖子地址: 

梦想之都-俊月星空 优酷自频道欢迎您 http://i.youku.com/zhaojun917
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|梦想之都-俊月星空 ( 粤ICP备18056059号 )|网站地图

GMT+8, 2025-10-29 09:34 , Processed in 0.042816 second(s), 23 queries .

Powered by Mxzdjyxk! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表