一、Android系统启动了哪些服务进程?
系统首页启动系统第一个进程Init进程,init进程加载init.rc文件。在init.rc文件在需要启动的服务进程配置,其中包括:
-
- Zygote进程:/system/bin/app_progress ...
- servicemanager:/system/bin/servicemanager ...
- surfaceflinger:/system/bin/surfaceflinger ...
- ……
二、Zygote进程怎么启动
- 启动Android虚拟机。
- 注册JNI函数。
- 预加载系统资源。
- 启动SystemServer服务进程。
- 启动Socket Loop,等待Socket消息。
PS:详细请查看Zygote进阶
三、SystemServer做哪些事?
- 启动Binder机制,即创建线程池。
- 启动系统服务,启动系统服务是SystemServer与Binder线程池合作启动的。
- ActivityManagerService。
- WindowManagerService。
- PowerManagerService。
- PackageManagerService。
- ……
- 启动Socket Loop。
四、启动桌面Launcer App
PS:参数过这篇博客:http://gityuan.com/2016/02/14/android-system-server/