Dalvik虚拟机
dex可执行文件
每个进程对应一个Dalvik虚拟机实例
Zygote启动进程:
- fork(),创建一个Zygote进程
- forkAndSpecialize(),创建一个非Zygote进程,应用进程
- forkSystemServer(),创建一个系统服务进程
Dalvik虚拟机执行程序流程
JIT:即时编译
主流的JIT包含字节码编译方式:
- method方式:以函数或方法为单位进行编译
- trace方式:以trace为单位进行编译
- 冷路径:执行比较少的函数路径
- 热路径:执行比较频繁的函数路径