ART虚拟机oat文件

  • 5.0以上android强制用art虚拟机
  • oat文件在安装过程中dex2oat系统工具将apk所有dex文件转成oat文件放在/data/dalvik-cache/arm目录下后缀还是以dex/odex结尾
  • Android N引入了一种包含编译、解释和JIT(Just In Time)的混合运行时,以便在安装时间、内存占用、电池消耗和性能之间获得最好的折衷
  • 当用户安装App的时候,不再进行预编译了,这个和KitKat的时候一样。当用户安装之后立即使用该App,仍然使用JIT编译模式来执行App,但是同时会生成一个离线的 profile 文件,这个 profile 文件会记录JIT运行时的所有 hot code(热点代码)信息。然后在未来的某个时间点,Android Framework 会基于这个 profile 文件来启动一个预编译行为,它只便于记录的热点代码。

在 JIT 阶段,它带来的好处:
快速安装
系统快速更新
在 AOT 阶段,它带来的好处:
快速启动,更好的运行性能
低消耗:CPU,储存空间,电量…
ART混合编译模式
一些用户只使用App中的一部分功能,只有这些被频繁使用的部分(这个功能涉及到的代码)才值得被编译成 native code。
在 JIT 阶段,我们可以很容易的找到经常被使用的代码。
使用 AOT 来加快这些经常使用的用例。

避免在一些基本不适用的代码上花费开销。
AOT+JIT混合编译

猜你喜欢

转载自blog.csdn.net/shaoyangtangsong/article/details/84885765