`
月下独酌
  • 浏览: 131823 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

[CSDN]Android系统进程Zygote启动过程的源代码分析

 
阅读更多
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...}
      
 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics