1.Android啟動流程
init 是用戶態(tài)的第一個進程
zygote 是Android的孵化進程
-
zygote進程啟動過程
-
SystemServer進程啟動過程
-
SystemServer進程處理過程
2.AMS(ActivityManagerService)介紹
- AMS是什么?
- 從java角度來看檩咱,ams就是一個java對象空入,實現(xiàn)了Ibinder接口缀拭,所以它是一個用于進程之間通信的接口杈绸,這個對象初始化是在systemServer.java 的run()方法里面
public Lifecycle(Context context) {
super(context);
mService = new ActivityManagerService(context);
}
- AMS是一個服務
- AMS是什么辆布?
- 從java角度來看丘侠,ams就是一個java對象危彩,實現(xiàn)了Ibinder接口攒磨,所以它是一個用于進程之間通信的
接口,這個對象初始化是在systemServer.java 的run()方法里面 - AMS是一個服務
ActivityManagerService從名字就可以看出汤徽,它是一個服務娩缰,用來管理Activity,而且是一個系統(tǒng)服務谒府,
就是包管理服務拼坎,電池管理服務,震動管理服務等完疫。 - AMS是一個Binder
ams實現(xiàn)了Ibinder接口泰鸡,所以它是一個Binder,這意味著他不但可以用于進程間通信壳鹤,還是一個線程盛龄,因為一個Binder就是一個線程。
-
AMS啟動流程