2 Android程序的执行

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.  冷路径:函数执行中不频繁执行的部分

原文地址:https://www.cnblogs.com/heixiang/p/10964095.html