1.Boot系统初始化,(system/core/init/Init.c)中的main(),这时候手机或者模拟器出现console,显示“ANDROID”

2.初始化成功后,就开始mounting系统,具体参见system/core/mountd/Mountd.c中的main()

3.接下来运行androidRuntime,并开始启动java虚拟机dalvikvm

4.Java虚拟机启动成功后,开始初始化。系统初始化的第一步是用JNI方式实现的,对应java类为

frameworks/base/services/java/com/android/server/SystemServer.java中的init1(Native)函数,对应的JNI C++代码为

frameworks/base/cmds/system_server/library/System_init.cpp中的system_init()

5.system_init调用SurfaceFlinger,SurfaceFlinger的readyToRun()用BootAnimation来实现开机动画,

这时候手机或者模拟器显示是一副背景图加一个动态小机器人

6.系统初始化的第二步,将启动ServerThead进程,参见SystemServer.init2()

ServerThread将启动各种系统服务,如Power Manager,Activity Manager等等,具体参见ServerThread的run(),ServerThread同在SystemServer.java中



更多相关文章

  1. Android(安卓)CircularFloatingActionMenu:作为系统级按钮悬浮桌
  2. spring mvc dubbo ios android整合cms内容发布平台
  3. Android(安卓)为【apk】文件签名,增加修改系统时间等权限
  4. Android拍照流程
  5. spring mvc + mybatis 构建 cms 内容发布系统 ios android
  6. 9、四大组件之四-Broadcast Receiver
  7. android系统属性获取及设置
  8. Input子系统框架之InputDispatcher
  9. Android(安卓)8.0系统以后你该这样启动Service

随机推荐

  1. WebView 简单使用一
  2. android SDK 更新出现错误的解决办法
  3. Android搜索视媒体库视频 列表显示选择
  4. Android各版本对应的SDK版本
  5. Android入门:ImageView介绍
  6. Android(安卓)ant 打包 ant -f build.xml
  7. 使用Android(安卓)studio导入源码工程
  8. Android: 添加shell命令行 alias配置
  9. android gif view
  10. Android强制设置横屏或竖屏