今天早上新闻,华为对Verizon提起诉讼,要求其对200多项专利付费 , 中美科技摩擦不断升级 。在今年发布P30的时候,华为还发布了一个名为“方舟”的编译器,但是很多人对方舟到底是什么其实有误解 , 这里我们就来详细说说 。可以肯定的是,方舟并不是单独操作系统!而是安卓上的工具 。
方舟编译器的优势可以总结为以下五点:
1,安卓程序编译效果更好;
2 , 安卓程序安装速度更快;
3,安卓程序运行速度更快;
4 , 系统垃圾随用随清 , 对手机硬件的依赖降低;
5 , 省电、省电、省电,重要的事情说三遍
文章插图
诺亚方舟
安卓与Java
从一开始到现在 , 安卓的程序大多数都是Java(也有C语言)编写的,关于Java无需多言,是世界上最强大的计算机语言之一 。但是懂得计算机原理的都知道 , 计算机的CPU,只接受汇编命令 。那么怎么才能让CPU去理解Java语言的程序呢?
文章插图
左边是JAVA程序代码,有边是汇编代码
如果使用一个中间层 , 把Java解释成汇编语言 , 充当一个“翻译”的角色,那么就变成了Java程序说一句 , 它解释一句,这么做显然效率太低 。那么能不能把Java直接变成机器能动的汇编代码?可以 , 有两种办法 , 一种是在程序执行之前就编译好的模式,这种称之为Ahead of time,简称AOT;另外一种办法则是程序运行起来之后再编译,称之为Just in time,JIT 。
早期安卓
在安卓的早期时代,也就是安卓5.0以前,安卓手机有卡、慢、顿的毛病,为用户所诟病 。为什么?归根结底是因为当时的安卓使用的是中间层 JIT的垃圾模式 , 这种机制下就快不了,而且当时垃圾回收也成问题,本来就慢,越用越慢,笔者当时用的Nexus4就是安卓4.2版本,由于是源生系统,还稍微好一点点 。而且这种办法还废电 。
文章插图
nexus由于是源生系统,所以比国内手机厂加壳的各种UI还稍微快一点
文章插图
当年还要勾选项才能从Dalvik变成ART
在安卓5.0-6.0的时期,谷歌为安卓配置了ART(Android Runtime),这个时候是完全的AOT模式,但是它也有自己的问题:因为是执行之前要编译好,所以安装的速度很慢并且非常占空间,要知道当时的手机64G都算容量大的,而且开机重启都要执行一次AOT,所以这个速度巨慢,用户体验也很差 。这也是为何从前两年开始,安卓手机的内存和容量越来越大 。
现在的安卓
安卓7.0之后,谷歌也意识到了程序占地方、开机慢的问题,怎么办?谷歌发现,人们使用一个程序,不可能用所有的功能 。那么只编译一部分常用的是不是就效率高了呢?所以这时候其实是把JIT又拉回到安卓上来,并且安装的时候也不用全编译 , 直接装就是了 , 速度当然快了 。这其实就是中间层、JIT、AOT一起来,并且根据用户的习惯,把它常用的程序的常用功能代码解释好了存起来,用户再用也飞快 。
文章插图
安卓Q虽然好,但是国内多数手机厂系统更新没有这么快
在安卓7.0以后 , 谷歌做的事情就是优化 。8.0的系统是做了一个解释器 , 提升了“冷代码”的解释速度 。而最新的10.0(Android Q)系统,甚至会在安装的时候,就预先知道这个程序什么是用户常用的代码,安装时间稍微长一点,但是热代码已经解释好了,进一步提升速度 。
- 你的华为手机有双卡双待吧那这个技巧要掌握吗,华为手机如何实现双卡加内存
- 华为mate30pro售后换后盖,华为mate 30 后盖更换
- 华为折叠屏和保时捷,保时捷折叠屏
- 各品牌手机厂商成立时间「各大手机品牌公司的成立时间」
- 值得购买的华为千元机,华为的千元机哪一款最好
- 华为mate50发售价,华为mate50E售价多少
- 形容华丽场面的成语
- 华为harmonyos公测,华为harmonyos 3.0体验
- 华为手机哪一款是麒麟芯片,华为哪一款手机是鸿蒙麒麟芯片
- 华为手机别乱买,最值的三款华为手机,好看好用性价比高,华为手机选择哪款好一点