Android系统采用的是分层架构,分四层:
1. Applicitations:应用层
2. Applicitation Framework:架构层
3. Libraries:类库层
4. Linux Kernel:Linux内核层
执行流程:
Zygote三种创建进程的方法:
1. frok()创建一个Zygote进程
2. frokAndSpecialize()创建一个非Zygote进程
3. frokSystemServer()创建一个系统服务进程
说明:Zygote进程可以frok()创建其他进程,系统服务结束后子进程也结束;非Zygote进程则不行
Dalvik虚拟机执行流程
Dalvik虚拟机的JIT(即时编译,动态编译)
Dalvik默认采用的是trace编译方式
JIT包含两种字节码编译方式:
1. method:以函数为编译单位
2. trace:以路径为编译单位
a) trace分成两类
i. 热路径:函数执行中频繁执行的部分
ii. 冷路径:函数执行中不频繁执行的部分