首先看一张Android系统启动流程图:
一个进程最重要的两项指标一个是启动了Binder线程池,也就是可以进程Binder进程间通信了。另一个是启动了Handler消息循环,可以使用了消息循环机制。
1、那么systemserver进程是什么时候实现上面两个机制的呢?见代码:
启动了Binder线程池。是子线程池。
public static final void zygoteInit(String[] argv)
throws ZygoteInit.MethodAndArgsCaller
{
......
zygoteInitNative();
......
}
启动了Binder主线程池,如下:
extern "C" status_t system_init()
{
LOGI("Enter