何为方舟编译器?
安卓是一个基于Linux开发的系统,而其应用绝大部分使用Java开发,而这些应用均需要运行在Java虚拟机中,因为处理器无法识别Java语言虚拟机指令。
现阶段的安卓系统采用了AOT+JIT+解释执行三种方式共同实现Java代码编译成机器码,但安卓系统上应用的编译已经非常高效。但是,即便是应用被打包成apk也是采用Java代码,安卓内部永远绕不开编译这个问题。
而方舟编译器通过将Java语言直接变成机器码绕开虚拟机实现应用的直接编译,这样用户下载应用完成后就自然得到了编译过的应用。
方舟编译器是首家完全替代语言虚拟机的静态编译器,完全不需要解释器。兼顾Java开发效率和C语言运行效率的编译器。相比现有的编译机制:
1.方舟编译器是一种静态的编译方式,而现有的安卓系统,运行一个应用程序首先启动虚拟机,然后读入应用程序代码,逐条解释执行。会占用较多的处理资源,影响程序执行的效率。当然,也有包括AOT或JIT等提前或运行时的编译技术,把部分程序转换成机器码直接在CPU上执行。但是,仍旧无法做到100%做到摆脱虚拟机的执行,这也是当前安卓阵营不如IOS阵营的关键。
2.华为方舟编译器的静态编译方式可将语言里的动态特性直接翻译成机器码,手机安装应用程序后可全速运行程序,彻底消除虚拟机的弊病,带来效率上的极大提升。
3.方舟编译器是在开发环境部署的编译器,而现有编译过程,主要发生在手机上,带来额外的资源消耗。
目前方舟编译器针对通用ARM芯片架构进行编译优化,未来将通过软硬件协同设计,将麒麟芯片的能力发挥到极致。同时方舟编译器支持Java标准用法,三方应用可直接进行编译,不需要修改代码。但如果希望获得更加好的性能或内存方面的提升,则可以通过调整代码结构,与方舟编译器配合优化来实现。
何为EROFS?
EROFS全称为Extendable Read-Only File System(可译为“可扩展只读文件系统”),可提供比其他只读文件系统方案更好的性能,且可以节省存储空间。EROFS还提供了一种不同的压缩模式设计。
根据华为官方的说法,全新的EROFS文件系统,其随机读取性能平均提升20%,空间更节省,读取更流畅。
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。