Day5:
1.华为方舟编译器解决了Android系统在性能和应用运行层面存在的需要安装虚拟机、JNI效率不高且占用硬件资源、编译器代码优化空间有限、内存回收机制容易造成卡顿等四方面问题。
2.华为方舟编译器不是一个编译器而是个编译运行系统,绕过虚拟机,使不同语言代码在开发者环境中统一编译成同一套可直接执行的机器码,将代码优化也搬到开发者环境,采用内存的实时回收避免系统卡顿。
3.编译器是把源程序的每一条语句都编译成机器语言并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,因而速度很快;而解释器则是只在执行程序时,才一条一条地解释成机器语言来让计算机执行,因此运行速度不如编译后的程序运行得快。
4.华为所谓的 “方舟编译器” 与其说是一个编译器,不如说是一个编译运行系统;这个系统的运行需要开发环境和终端(也就是智能手机)的配合,其目的是绕过 Android 操作系统中 App 的运行所必须依赖的虚拟机,将 Java/C/C++ 等混合代码一次编译成机器码直接在手机上运行,彻底告别 Java 的 JNI 额外开销,也彻底告别了虚拟机的 GC 内存回收带来的应用进程掉线——从而最终实现 Android 操作系统的流畅度。
5. 华为要想充分发挥方舟这个编译系统的实力,还离不开开发者在开发层面对方舟编译器的大力支持,这本质上是华为在现有 Android 开发生态之外另辟蹊径打造的一个全新开发环境——它究竟能否得到开发者的支持,还需要等华为将其开源之后才能有答案。