在经历美国全力打压和封锁近半年之后,华为反而爆发出了让所有人瞩目的实力。特别是近来,华为接连发布的经过十年布局研发的方舟编译器和鸿蒙操作系统,再次让外界见识到了华为真正的实力。虽然作为未来华为万物互联的基础,鸿蒙操作系统显然更重要,但毕竟鸿蒙系统还需要一段时间进行生态布局,和技术迭代来完善和适配。而方舟编译器作为华为软件生态的重要一环,在当下就显得非常重要了。
而方舟编译器在发布之时,就宣称一旦把安卓系统和应用重新用方舟编译器编译之后,安卓系统的运行速度将大幅提升,甚至将可以媲美iOS。特别是华为还宣布方舟编译器将完全开源。如果方舟编译器真能做到宣传中的效果,毫无疑问,一旦方舟开源,必将有大批的开发者汇聚于此,使用方舟重新编译自己的应用。而方舟编译过的程序,将可以在鸿蒙上完美适配。因此只要方舟编译器表现良好,那就会变成鸿蒙系统生态的吸粉神器。
那么方舟编译器能否做到宣称的彻底改良Android呢。首先我们先来看一下到底有哪些因素,导致Android天生就跑不过iOS。首先一点,其实Android就是用Java编写的一个叠加在底层Linux内核之上的运行在用户空间的大型用户程序。并且Android把底层Linux系统的各种功能都包装成了各种各样的服务,而各种应用程序就可以通过调用Android提供的这些服务调用底层linux的各种功能,从而实现用户的各种需求,如打游戏,看视频等等。
也因此Android天生就继承了java的各种优缺点。优点是Java的兼容性,可以全平台使用。但缺点也因此而来,正是因为Java为了能全平台使用,因此使用了虚拟机概念来屏蔽底层硬件的区别。因为Android也是跑在虚拟机上的。虽然谷歌为了提高性能,在Android迭代时,更换了不同版本的虚拟机,但毕竟虚拟机还在。这就意味着,Android的应用程序在运行时,必须要先经过虚拟机的解释,才能让底层的Linux再执行。这就大大拖累了Android的运行速度。
而且由于底层Linux系统是用C语言编写的,而Android及其应用都是用Java编写的。因此当用户使用应用程序想使用一个功能,那么就必须从Android系统的Java调用这个功能的接口转换成底层Linux系统的C语言调用接口。而这有需要JNI来完成从java接口到C接口的转换,又要拖慢一点时间。而且对于Android来说,如果内存占用过高(如打开的应用太多)时,会执行一个叫做GC的内存回收工具,进行内存碎片回收。但是要命的是,GC在执行时会停止所有的程序运行,直到清理完毕。这也是为何Android手机为什么一直在大幅增加内存容量,就是为了尽量减少GC的运行次数。
而华为的方舟编译器就一举解决了这几个困扰业界多年的难题。通过将java/c/c++代码统一编译,彻底解决了以往安卓必须依赖的JNI和虚拟机。而又通过引用计数法进行内存实时回收,避免了GC的系统卡顿。因此方舟编译器才敢宣称能大幅提升Android及其应用的运行速度。
说来简单,但要知道方舟编译器做到了业界自Java 1995年问世以来,一直依赖虚拟机,几十年未变的框架。也是第一个真正能做到Java/C/C++代码能够直接混合成机器码的编译器。可以说,有了方舟编译器,华为才真正的有可能构建起自己的生态。现在广大程序员,都在期盼着华为尽早开放方舟编译器的源码。正如Linux之父,程序员之神Linus说的:Talk is cheap, Show me the code。
-
华为
+关注
关注
215文章
34263浏览量
251040 -
编译器
+关注
关注
1文章
1617浏览量
49019 -
鸿蒙
+关注
关注
57文章
2305浏览量
42697 -
方舟编译器
+关注
关注
0文章
60浏览量
181
原文标题:国网节能公司面向国家电网系统内外公开招聘65人!
文章出处:【微信号:bjx-zndw,微信公众号:北极星智能电网在线】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论