art和Dalvik的一些知识

 分类:Android, Java 阅读 (1,082)
7月 072020
 
一、Art的诞生

  Art是在Android4.4系统中加入的,但是默认是不开启的

  Art和Dalvik的切换是通过指定一个系统设置项来切换的,见art/Android.mk中.PHONY: use-art下面那一段脚本

  本文摘录片段

  libdvm.so是DalvikVm的so库

  libart.so是Art Vm的so库

  之所以两个能同时切换,是因为他们都实现了JNI_Create_JavaVm的入口函数。

二、Art的崛起

  在Android4.4加入Art之后,一直是默认没有开启的,直到Android5.0,DalvikVm彻底被删除,art担当大任

  可以对比下4.4和5.0源码中dalvik/vm下的代码结构

  http://androidxref.com/4.4_r1/xref/dalvik/vm/

  http://androidxref.com/5.0.0_r2/xref/dalvik/vm/

  可以看到从5.0开始,dalvik的代码已经被删除掉了

打赏
 Posted by on 2020-07-07

Sorry, the comment form is closed at this time.