华为方舟编译器深度解读 颠覆安卓体验就靠它( 三 )
图片来自网络
Android 5.0时代 , Dalvik虚拟机升级到了ART , JIT编译器也“升级”到了AOT , 即用户在下载APP到手机安装时候 , 就直接可以把编译的代码直接编译成机器语言 , 当然还有部分没有编译的代码 , 这个就在用户启动APP时候再使用解释器来编译 。 虽然比1.0运行效率要高 , 但是牺牲了安装时间 。
到Android 7.0时代 , 为了解决安装时间过长问题 , 采用了混合编译机制 , 即在安装APP时候不编译中间代码 , 而是等APP空闲下来时 , 先通过AOT静态编译出一部分机器代码 。 如果AOT环境下遇到问题 , 再激发JIT编译器+解释器进行“辅助” 。
图片来自网络
但是上述的代价 , 就是需要大量运行内存和不断的高存储写入 , 进而增加功耗和发热 。 而华为干掉虚拟机 , 其实就是将Java代码直接编译成010101的机器码 。 但是大家要明白 , Java语言里有静态语义和动态语义 , 大多数的动态语义 , java无法做到直接编译还得交给虚拟机 。
推荐阅读
- 明日方舟|明日方舟:早露皮肤的攻击动作设计得很出彩,化身成白熊的指挥员
- 明日方舟|明日方舟:何如评价两年半后的重装星熊 从前幻神变成无业游民
- 明日方舟|王者荣耀:金蝉新皮肤“前尘”首曝,288勇者品质,两款海报一览
- 明日方舟|明日方舟:在面对散华精锐的大范围法伤时,群奶和奶盾是基本配置
- 明日方舟|明日方舟:德狗子满潜,二技能专三,有德克萨斯了还要练焰尾吗?
- 超级机器人大战30|明日方舟:白嫖材料活动更新,玩家收益减少,鹰角策划又不当人?
- 明日方舟|明日方舟官方撕卡,异格上线本体下线,花了300抽却碰上个例外?
- 手机游戏|明日方舟现版本最值得开模组的干员 傀影和异客强度史诗级提升
- 明日方舟|明日方舟是否有必要实装扫荡系统 博士:退一步实装连战系统也好
- 明日方舟|明日方舟:现在再来看塞雷娅,越来越觉得离谱