ART

  • ART=Android RunTime
    • 是什么:Android的新一代的VM虚拟机
      • Dalvik的基础上做了一些优化,提高了运行效率
      • 用于替代旧的:Dalvik
    • 特点
      • 预先编译AOT
      • 垃圾回收方面的优化
      • 开发和调试方面的优化
        • 支持采样分析器
        • 支持更多调试功能
        • 优化了异常和崩溃报告中的诊断详细信息
    • 对比:Dalvik vs ART
      • 效率对比
        • Dalvik:应用每次运行的时候,字节码都需要通过即时编译器=JIT=Just In Time转换为机器码
          • 这会拖慢应用的运行效率
        • ART:应用在第一次安装的时候,字节码就会预先编译机器码
          • 使其成为真正的本地应用
          • 这个过程叫做预编译=AOT=Ahead-Of-Time
            • 所用工具是:dex2oat
            • 这样的话,应用的启动(首次)和执行都会变得更加快速
          • 文件类型变化:.java –> .class –> .dex –> .oat
            • .oat: optimized android runtime machine code
      • 效果对比
        • Dalvik是运行时解释dex文件
          • 安装比较快
          • 开启应用比较慢
          • 应用占用空间小
        • ART是安装时字节码预编译成机器码存储在本地,执行的时候直接就可以运行的
          • 安装慢
          • 开启应用快
          • 占用空间大
      • 类比
        • 就像骑自行车
          • Dalvik ~= 折叠自行车:每次骑之前,都要先组装/展开才能骑
            • 空间占用小,但启动慢
          • ART ~= 组装好的自行车:每次直接骑着就走了
            • 空间占用大,但启动快

results matching ""

    No results matching ""