[CSDN]Android系统进程Zygote启动过程的源代码分析
16lz
2021-01-23
http://blog.csdn.net/luoshengyang/article/details/6768304
简要整理:
简要整理:
linux-->init | native服务zygote(init.rc中定义的service,代码:app_main.cpp //步骤1) | {AppRuntime.start(),AndroidRuntime.start()} | {通过jni调用Java函数ZygoteInit.java.main(),startVM(),RegJNI} | {startSystemServer(), 为zygote服务建立伺服socket} | | {RuntimeInit.java.zygoteInit(), 无限循环等待来自ActivityManagerService的请求并通知zygote服务为应用程序fork进程(逻辑流程回到步骤1)} | 初始化binder,调用 SystemServer.java.main() | SystemServer.init1() | JIN:com_android_server_SystemServer.cpp ---> 启动native服务{SurfaceFlinger,AudioFlinger,Sensor,MediaPlayer,Camera,AudioPolicy} | 调用libsystem_server库函数system_init(),代码:system_init.cpp | SystemServer.init2() | ServerThread.start()--->启动java服务{ActivityManager,Lights,SensorPower,Connectivity,Package,WindowManager,Bluetooth...}
更多相关文章
- Android Studio中添加Permission权限的步骤与位置
- Android 代码当中动态改变某个控件的位置
- android 获取本机号码及应加的权限 代码
- 代码设置RelativeLayout相对位置设置
- android瀑布流代码
- 【Android】监听SDCard安装和卸载的代码片段(测试通过)
- android : 控件在代码中设置属性-setWidth(int pixels)或setHeig