zoukankan      html  css  js  c++  java
  • Android ART、Dalvik在multidex上的差异、关联

       为提升应用运行性能,谷歌官方从5.0(api level:21)版本开始,将虚拟机运行环境默认为ART, 此处主要研究ART、Dalvik在multidex处理上的差异和关联,做了一个简单的手绘,如下: 

      multidex由分包、合包两个过程组成,分包均是通过andriod build tool来做的,两者存在一个很重要的差异点:

      android 5.0及以上手机在安装apk时,手机设备中的dex2oat工具会将dex1~dexN读取合成为一个oat文件, 供art使用。dex2oat的过程是不区分主dex、辅助dex的,这样在编译时就可以节省dex merging这个操作(用来计算主dex放哪些类),dex的增量编译效率得以提高。而android 5.0以下版本的手机上,dalvik的输入文件为dex,需通过主dex使用multidex support包加载辅助dex的方式来合包。

      因此,5.0及以上版本,multidex support的install操作是需要阻断的,它的兼容逻辑在MultiDex.install可以看到:

      即,系统配置属性java.vm.version大于"2.0.0"表明虚拟机运行环境为ART。

    Ref:

      https://developer.android.com/studio/build/multidex.html#about

      https://developer.android.com/guide/practices/verifying-apps-art.html

           

      

  • 相关阅读:
    WeUI——switch开关转换
    WeUI——单选框
    WeUI——CheckBox表单复选框
    WeUI——表单输入框状态
    WeUI——表单验证码
    详细介绍 C# 中的方法和参数
    C# 中类的基本概念
    C# 中的类型和变量
    学习 C# 从 Hello World 开始吧
    C# 和 .NET Core 的关系
  • 原文地址:https://www.cnblogs.com/tonybright/p/8907220.html
Copyright © 2011-2022 走看看