0%
编译dex字节码为机器码
虚拟机的创建
- AndroidRuntime.cpp
- start
- jni_invocation.Init(NULL) 加载libart.so ,获取虚拟机函数符号
- startVm ->创建Runtime,给JavaVM 和JNIEnv 赋值
- JNI_CreateJavaVM
- Runtime::Create(options, ignore_unrecognized)
- runtime->Start()
虚拟机的启动
dex2oat
解释执行和JIT
JNI
CheckPoints,线程同步,信号处理
内存分配与释放
GC