天天看点

ART虚拟机(一)—— Dalvik 与ART概念一 前言二 简单理解三 官方文档四 其他可进一步熟悉Dalvik和ART的博客

目录

一 前言

二 简单理解

三 官方文档

四 其他可进一步熟悉Dalvik和ART的博客

一 前言

本系列文章记录对ART虚拟机学习过程中的一些资料记录,及个人对虚拟机的一些理解。

二 简单理解

Dalvik 与ART的区别:https://www.zhihu.com/question/29406156 (知乎上有些回答真是神比喻)

简单来说,Dalvik模式执行速度慢,但是占用空间小。ART模式执行速度快,但是占用空间大,ART 和 Dalvik 是运行 Dex 字节码的兼容运行时,因此针对 Dalvik 开发的应用也能在 ART 环境中运作。

Android 4.3 以前一直使用Dalvik模式,Android 4.4开始引入ART模式,这个时候系统还是默认使用Dalvik,但是可以强制切换到ART。Android 5+ 开始使用ART模式。

再来说方法执行问题,Dalvik模式下,方法解释执行,当然Android 2.2 版本也引入了JIT。后来在ART模式下引入预先(AOT)编译,也就是提前将dex文件编译成oat文件,执行速度快,可以提高应用的性能。到了Android N,开始使用混合编译,也就是普通解释执行、JIT、AOT联合编译,关于混合编译可以看看这篇翻译:https://www.infoq.cn/article/2016/04/android-n-aot-jit

三 官方文档

https://source.android.com/devices/tech/dalvik

https://source.android.com/devices/tech/dalvik/configure

https://source.android.com/devices/tech/dalvik/jit-compiler

ART虚拟机(一)—— Dalvik 与ART概念一 前言二 简单理解三 官方文档四 其他可进一步熟悉Dalvik和ART的博客
ART虚拟机(一)—— Dalvik 与ART概念一 前言二 简单理解三 官方文档四 其他可进一步熟悉Dalvik和ART的博客
ART虚拟机(一)—— Dalvik 与ART概念一 前言二 简单理解三 官方文档四 其他可进一步熟悉Dalvik和ART的博客

四 其他可进一步熟悉Dalvik和ART的博客

老罗的Android之旅总结:https://www.kancloud.cn/alex_wsc/androids/472173