SystemServer相关

时间:2023-01-02 06:44:42

SystemServer分析

由Zygote通过Zygote.forkSystemServer函数fork出来的。此函数是一个JNI函数,实现在dalvik_system_Zygote.c中。

1.SystemServer调用zygoteinitNative后,将与binder建立联系。

2.SystemServer调用handleSystemServerProcess完成自己的使命。

3.HandleSystemServerProcess抛出异常,最终调用SystemServer的mian函数。

4.Main函数加载libandroid_server.so并调用native的init1函数

5.Init1通过JNI调用SystemServer的init2函数

6.Init2创建ServerThread线程,用来加载service。

7.Init1函数最终加入Binder通信系统

8.WatchDog 是用来监视Server的有问题他会杀死service。

RefBase分析

Class A:public RefBase (A继承RefBase)

Mian函数中创建sp,wp。