Dalvik & Art 初接触

Dalvik & Art 初接触

也不知道对DVM和Art要了解到什么程度,就先看看吧.

Dalvik

在Android系统中,应用程序进程都是由Zygote进程孵化出来的,而Zygote进程是由Init进程启动的。Zygote进程在启动时会创建一个Dalvik虚拟机实例,每当它孵化一个新的应用程序进程时,都会将这个Dalvik虚拟机实例复制到新的应用程序进程里面去,从而使得每一个应用程序进程都有一个独立的Dalvik虚拟机实例。[2]

使用的是寄存器架构而不是栈架构(这是啥)

JVM是栈架构

14年google i/o 上 Android L发布,直接删除了Dalvik.用Art代替了Dalvik.

启动

应用

每次运行时,JIT将字节码转换为机器码.

  • 可以让应用程序安装更快
  • 更容易在不同硬件和架构上运行

Art

应用

在应用安装的时候,预编译字节码到机器语言

  • 占用空间比Dalvik更大
  • 预编译降低cpu使用频率,可以改善电池续航

参考