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...}      

更多相关文章

  1. Android Studio中添加Permission权限的步骤与位置
  2. Android 代码当中动态改变某个控件的位置
  3. android 获取本机号码及应加的权限 代码
  4. 代码设置RelativeLayout相对位置设置
  5. android瀑布流代码
  6. 【Android】监听SDCard安装和卸载的代码片段(测试通过)
  7. android : 控件在代码中设置属性-setWidth(int pixels)或setHeig

随机推荐

  1. Android(安卓)文件选择器,单选,多选
  2. 转:Android(安卓)获取Root权限
  3. 简单布局收缩动画
  4. android 网络读取图片 带进度条
  5. Android代码实现APK文件的安装与卸载
  6. Android(安卓)Socket网络通信
  7. Android(安卓)RecyclerView横向滑动
  8. Android编译系统详解(一)
  9. Android中获取正在运行的应用程序-----Ac
  10. Android(安卓)分析ANR和死锁