安卓用户的福音——华为方舟编译器分析!
Posted 旧手机换钱
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓用户的福音——华为方舟编译器分析!相关的知识,希望对你有一定的参考价值。
在《圣经》的故事里
方舟曾引领万物躲过了前所未有的大洪水
为未来留存了火种
3月份的华为P30发布会
华为发布了一个编译器
并冠以“方舟”之名
今天小马哥就带大家认识一下方舟编译器
根据华为的描述
在方舟编译器的帮助下
系统操作流畅度增加了24%
系统响应快了44%
第三方应用操作流畅度提升了60%
按照这个提升程度
方舟编译器大有方舟的意味
为系统操作带来了脱胎换骨的革新
在了解方舟编译器之前
我们先来认识下安卓运行软件的方式
首先明确这么一个基本面
安卓是基于Linux开发
使用Java语言编写的系统
而Java自身属于解释性语言
因此ARM架构的处理器无法直接
解析Java语言执行代码
在相互沟通理解上
CPU和代码间存在天然的沟壑
为了解决这个问题
安卓推出了虚拟机(JVM)
借助虚拟机
将Java语句解释为字节码
再整合成CPU能够理解的指令
虚拟机作为解释器一边解释
CPU一边执行
即边解释边执行
现今的安卓系统使用的都是ART虚拟机
解释执行未免太过繁琐
想要执行程序还有一种更简便的方法
将Java代码翻译成机器能够理解的native code(本地码)
而翻译又存在两种方式
一种是通过AOT(预先编译器)
另一种则是利用JIT(即时编译器)
首先是AOT,顾名思义,就是提前编译
在安装软件时
系统会软件内的代码编译成本地码
或者通俗点叫机器码
并存储在机器内
形象地来说相当于英文电影变国配
其次是JIT
即时编译则是在软件运行时才进行编译
同时也会变成本地码存储在机器内
随着软件执行次数的增多
JIT还能分析出程序中哪部分字节码运行频率高
即热代码
从而帮助系统优先执行这部分代码
提高运行效率
这个例子我们同样可以举电影
电影依旧是英文电影
JIT则相当于实时字幕
帮助观众理解电影内容
而随着你看电影次数的增多
字幕也从必须的辅助变成了可有可无
在当前的安卓环境下
解释执行+AOT+JIT成为了代码的混合运行方式
而方舟编译器着重改善的则是编译的过程
在APP打包成APK文件前
对代码进行静态编译
使其能够直接运行在机器上
和手机上的本地编译不同
这项过程发生在安装前
大大提高了执行效率
简而言之
方舟编译器是针对开发者的开发工具包,即SDK
此前,余承东曾呼吁开发者尽快使用
而目前,方舟编译器已经正式实现开源
并推出⼀次开发多端部署的工具
HUAWEI DevEco Studio
此举对整个安卓生态都有着重大意义
经过方舟编译器重新编译后的软件
在流畅度和响应速度上都有着可观升级
例如此前经过优化的微博国际版
在同一网络下图片视频加载都更加迅速
操作也更加跟手
除了方舟编译器
发布会上还提到了另一项黑科技
EROFS超级文件系统
EROFS是在F2FS的基础上进行升级的一个文件系统
根据华为的说法
在升级之后手机的随机读取性能平均提升20%
实现系统ROM空间占用节省2GB
可避免在内存紧张时低效地反复读,解压数据
带来的整机卡顿问题
此前华为一改系统用户分区
由主流的EXT4升级为F2FS
提升了随机读取性能(4K读写)
减少了小文件带来的卡顿
提升了运行流畅度
但安卓的内核依旧使用EXT4进行分区
而EROFS则是对内核系统分区进行了升级
相当于将电脑的C盘由机械硬盘升级为固态硬盘
从底层改善了系统流畅度
在方舟编译器和EROFS文件系统
这套组合拳的威力下
华为手机系统的流畅度将有着质的提升
尤其是针对整个安卓生态的方舟编译器
更是有望从底层改善流畅度
对于安卓手机来说是个莫大的福音
以上是关于安卓用户的福音——华为方舟编译器分析!的主要内容,如果未能解决你的问题,请参考以下文章