Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Android各版本虚拟机的Dexopt区别

Android各版本虚拟机的Dexopt区别

作者头像
None_Ling
发布于 2020-12-02 06:59:39
发布于 2020-12-02 06:59:39
3.4K0
举报
文章被收录于专栏:Android相关Android相关

简述

Android 2.1版本到现在的Android 11 , 中间虚拟机变化过三次 :

版本

虚拟机类型

特性

2.1-4.4

Dalvik

JIT+解释器

5.0-7.0

ART

AOT

7.0-11

ART

AOT+JIT+解释器

各个版本ClassLoader加载的区别

image.png

各个版本dexopt产物的区别

5.0以下

使用Dalvik虚拟机 , 生成odex文件 . Dalvik采用的是JIT编译+解释器,也就是即时编译,每次应用运行时会实时将Dex翻译成机器码.

  • 优点 : 安装速度超快 , 占用存储空间小
  • 缺点 :
    • 由于在Dex加载时会触发dexopt , 导致Multidex加载的时候会非常慢
    • 由于热点代码的Monitor一直在运行 , 解释器解释的字节码会带来CPU和时间的消耗, 会带来电量的损耗
5.0 - 7.0

使用ART虚拟机 , 生成oat文件. 在ROM OTA或者恢复出场设置后 , 会要进行dex2oat根据当前ROM进行重新编译生成.oat文件.

  • 优点 : 运行时省电 , 运行速度快
  • 缺点 :
    • 由于安装APK时触发dex2oat , 需要编译成native code , 导致安装时间过长
    • 由于dex2oat生成的文件较大 , 会占用较多的空间
7.0 - 8.0

使用ART虚拟机 , 但是在7.0之上 , 增加了.vdex.art机制 , 在ART虚拟机再次启动/升级 , 加载Dex/Oat文件时 , 会减少Dex的校验时间 , 提升加载与运行效率

9.0

在ART虚拟机的基础上 , 增加了Cdex ( Compat Dex )机制 ,

compat_dex_file.h

Odex、Vdex、Cdex、Art文件

  • .vdex:其中包含 APK 的未压缩 DEX 代码,以及一些旨在加快验证速度的元数据。 目的是为了避免不必要的验证Dex文件合法性的过程,例如首次安装时进行dex2oat时会校验Dex 文件各个section的合法性,这时候使用的compiler filter 为了照顾安装速度等方面,并没有采用全量编译,当app启动后,运行一段时间后,收集了足够多的jit 热点方法信息,Android会在后台重新进行dex2oat, 将热点方法编译成机器代码,这时候就不用再重复做验证Dex文件的过程了
  • .odex:其中包含 APK 中已经过 AOT 编译的方法代码。
  • .art(optional):其中包含 APK 中列出的某些字符串和类的 ART 内部表示,用于加快应用启动速度。在ART加载的时候 , 则是通过Image进行加载.

Compiler-fileter

在dex2oat的时候 , 会有一个目标编译类型 , 会有以下几类 , 根据时机不同dex2oat的编译方式也会不同

  • verify:只运行 DEX 代码验证。
  • quicken:运行 DEX 代码验证,并优化一些 DEX 指令,以获得更好的解译器性能。
  • speed:运行 DEX 代码验证,并对所有方法进行 AOT 编译。
  • speed-profile:运行 DEX 代码验证,并对配置文件中列出的方法进行 AOT 编译。

参考资料

配置

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
电脑同步不了时间怎么办?NTP网络时间时间服务器、授时服务器、卫星校时服务器
好多客户在拿到SYN2136型NTP网络时间时间服务器后给电脑对时,电脑依然提示同步出错或者无法对时等现象,今天我们来解决下电脑无法同步的情况。
时频专家
2025/06/13
2300
启用电脑NTP服务(NTP时钟同步)让网络数据实时同步
微软从Windows2000开始,系统就支持使用NTP同步的方式获取时间,Windows系统默认的时间源都来自time.windows.com。
NTP网络同步时钟
2020/07/22
3.6K0
启用电脑NTP服务(NTP时钟同步)让网络数据实时同步
Windows系统修改NTP同步时间间隔
HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\SpecialPollInterval
无可奉告丶
2022/02/07
9.5K0
Windows下更改并使用NTP(时间同步服务器)服务器同步电脑时间
Windows自带的time.windows.com没法同步,只能自己更改NTP服务器。 该方法在Windows 10中测试通过,Windows 7应该也没问题,Windows 11据说要取消控制面板不确定。
kr
2022/06/15
20K0
Windows下更改并使用NTP(时间同步服务器)服务器同步电脑时间
自动与时间服务器时间同步,Windows系统时间同步(附时间同步服务器地址)
] 分支,并双击 SpecialPollInterval 键值,将对话框中的“基数栏”选择到“十进制”上,如图1所示
全栈程序员站长
2022/09/13
12.8K0
自动与时间服务器时间同步,Windows系统时间同步(附时间同步服务器地址)
win2012 R2的ntp时间同步设置解析
NTP时间同步是一种时间同步网络技术。目前有多种时间同步技术,每一种技术都各有特点,不同技术的时间同步精度也存在较大的差异.
孙杰
2019/10/29
3.5K0
win2012 R2的ntp时间同步设置解析
时钟服务器的安装与调试
好多客户在买了时钟服务器之后,不知道该怎么使用,又懒得去看说明书,打电话里又一时半会沟通不清楚,今天本文主要讲述下再拿到时钟服务器后的安装及使用调试。
时频专家
2019/12/19
1.1K0
双北斗NTP校时服务器、双北斗时钟服务器、双北斗授时服务器
北斗时间服务器的工作原理相对简单而高效。首先,它通过特定的接收设备捕获北斗卫星发送的时间信号。这些信号包含了卫星的精确时间信息,以及卫星的轨道参数等。北斗时间服务器接收到这些信号后,会进行一系列复杂的处理,包括信号解码、误差校正等,以确保获取到的时间信息的准确性。SYN2151型NTP时间同步服务器
时频专家
2025/01/20
4870
双北斗NTP校时服务器、双北斗时钟服务器、双北斗授时服务器
NTP时间同步服务器(网络时钟系统)架构设计与组成
 支持NTPv1.v2.v3&v4、ARP、ICMP、HTTP、UDP、SNMP 协议
NTP网络同步时钟
2023/03/15
1.1K0
NTP时间同步服务器(网络时钟系统)架构设计与组成
卫星同步时钟在咸阳机场的应用案例
咸阳机场是我省的重要航空交通枢纽之一,是一个现代化的大型机场。机场建设有离港系统、安防监控系统、停车场管理系统、呼叫中心系统等多个信息系统航显系统、广播系统、指挥调度系统、安检信息系统、楼宇自控系统这些系统等各大自动化系统将通过网络接口互相连接协同工作,时间的一致性就显得非常重要。通过建设卫星同步时钟,将各系统的时间进行统一校准,为各系统协同工作打下坚实基础。
时频专家
2020/03/30
6840
卫星同步时钟在咸阳机场的应用案例
调整Win7时间同步频率的两种方法
  HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\W32Time\\
杨强生
2019/03/05
2K0
电厂自动化系统时钟同步(NTP时间同步服务器)方案
近几年来,随着电厂自动化水平的提高,在电厂中计算机监控系统、微机保护装置、微机故障录波装置以及各类数据管理机得到了广泛的应用,而这些自动装置的配合工作需要有一个精确统一的时间。当电力系统发生故障时,既可实现全站各系统在统一时间基准下的运行监控和事故后故障分析,也可以通过各保护动作、开关分合的先后顺序及准确时间来分析事故的原因及过程。随着电网的日益复杂、装机容量的提高和电网的扩大,提供标准时间的时钟基准成为电厂、变电站乃至整个电力系统的迫切需要,时钟的统一是保证电力系统安全运行,提高运行水平的一个重要措施,是综自变电站自动化系统的最基本要求之一。
NTP网络同步时钟
2020/12/01
2.8K0
电厂自动化系统时钟同步(NTP时间同步服务器)方案
修改Windows时间同步周期
Windows server 2003 默认时钟同步周期为7天,操作界面上并不可以设置同步周期,可以通过修改注册表方式修改,修改后重新启用下时钟同步即可。
杨强生
2019/03/05
5K0
ntp同步时钟的使用方法
北斗时间服务器是对现代高科技自动化系统中的计算机及控制装置等进行校时的高科技产品。NTP协议用于把计算机或者其他的网络设备的时间同步到标准的UTC时间。网络时钟服务器从GPS卫星上获取到UTC时间信号,并将这些标准的时间信息经过内部高科技处理后通过网口传输给网络系统中需要标准时间信息的设备,这样就可以实现整个系统内的时间同步。
时频专家
2020/04/07
1.3K0
ntp同步时钟的使用方法
双北斗ntp网络校时服务器特点说明、双北斗ntp时钟服务器、双北斗网络授时系统
双北斗ntp网络校时服务器采用双北斗信号接收设计,互为冗余备份,提高了时间同步的可靠性。此外,还具备防火墙保护、SYN-flood 防御等安全功能,以及软硬件看门狗设计,确保设备在各种环境下稳定运行。
时频专家
2025/01/23
3680
安防视频监控系统的GPS时钟同步方案汇总
安防视频监控系统的时钟同步是指综合应用视音频监控、通信、计算机网络等技术监视设防区域,并实时显示、记录现场图像的电子系统或网络。 安防视频监控系统的时钟同步系统可以在非常事件突发时,及时地将叠加有时间、地点等信息内容的现场情况记录下来,以便重放时分析调查,并作为具有法律效力的重要证据,这样既提高了安保人员处警的准确性,也可为公安人员迅速破案提供有力证据。但视频监控系统经常出现显示时间不正确的问题,使系统提供的数字证据大打折扣,甚至不具备法律效力而无法使用,本文从多方面分析了产生 安防视频监控系统的时钟不同步问题的原因并给出有效的解决途径和方案。
用户3797148
2019/10/10
3K0
安防视频监控系统的GPS时钟同步方案汇总
银行金融系统时钟同步系统方案设计
在当代科技的快速发展下,各行各业对于时间精度的要求也越来越高,普通的时钟设备已经无法满足各行各业的需求,比如银行金融系统的时钟设备,则需要时钟能够以卫星时间为基准,还需要时钟设置能够统一银行局域网内所有设备的时间,还要时钟设备具有守时功能和防火墙功能。所以对于银行金融系统来说,更需要一套时钟同步系统来保证银行内的时间系统。本文章主要讲述银行金融系统时钟同步系统的方案。
时频专家
2020/06/10
1.4K0
银行金融系统时钟同步系统方案设计
京准科普 | 云计算网络NTP时间同步服务启用方法
1)双击AUTOMACHRON目录下的Automachron.exe文件,即开始运行软件,出现如下窗口。
北京华人开创公司
2024/11/08
3170
京准科普 | 云计算网络NTP时间同步服务启用方法
NTP时间同步服务器在计算机网络重要性
近几年来,随着计算机自动化系统水平的提高,在各大计算机监控系统、微机保护装置、微机故障录波装置以及各类数据管理机得到了广泛的应用,而这些自动装置的配合工作需要有一个精确统一的时间。当系统发生故障时,既可实现全站各系统在统一时间基准下的运行监控和事故后故障分析,也可以通过各保护动作、开关分合的先后顺序及准确时间来分析事故的原因及过程,方便对运行中出现的各种事件的分析和追溯,提高了系统的自动化水平。
NTP网络同步时钟
2020/04/16
1.2K0
NTP时间同步服务器在计算机网络重要性
服务器ntp时间同步
注意:若不加上-u参数, 会出现以下提示:no server suitable for synchronization found
summerking
2022/09/19
6K0
推荐阅读
相关推荐
电脑同步不了时间怎么办?NTP网络时间时间服务器、授时服务器、卫星校时服务器
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档