android开机启动流程
来源:互联网 发布:三唑仑在淘宝叫什么 编辑:程序博客网 时间:2024/05/08 05:26
launched processes during Android booting.
user pid ppid name
root 1 0 init
root 34 1 zygote
system 86 34 system_server(ActivityManagerService)
radio 118 34 com.android.phone
app_5 139 34 com.android.mms
app_3 139 34 com.android.alarmclock
app_6 139 34 com.android.calendar
......
Root进程
init进程主要任务
1.解析init.rc 和 init.%hardware%.rc
2.开启Android Java虚拟机
...
Java Application进程
Java APP都来自于zygote的分支,system_server是最典型的Java APP。
System Server
system_Server启动ActivityManager, WindowManager, PackageManager
ActivityManagerService运行在system_service里,ActivityManagerService.systemReady准备好后将启动persistent applications.
persistent applications就是指在AndroidManifest.xml中有如下标记的:
<application android:name="..." android:persistent="true" ...>
Phone启动起来了
First Activity启动
ActivityManagerService发出Intent.CATEGORY_HOME来启动相应Activity
SetupWizard,JrdSetupWizard,Launcher等APP都监听了此Action,只是android:priority不同而已。
SetupWizard android:priority="5"
JrdSetupWizard android:priority="2"
Launcher android:priority=默认值0
其它Activity启动
当activity idle第一次出现,ActivityManagerService发出广播ACTION_BOOT_COMPLETED,Currently, MMS, AlarmClock, Calendar, MediaProvider, VoiceDialer and IM等都注册了此广播,进而自动启动了。Email,DownloadProvider也注册了,但是AndroidManifest.xml中有属性android:enabled="false",因此也不启动。
user pid ppid name
root 1 0 init
root 34 1 zygote
system 86 34 system_server(ActivityManagerService)
radio 118 34 com.android.phone
app_5 139 34 com.android.mms
app_3 139 34 com.android.alarmclock
app_6 139 34 com.android.calendar
......
Root进程
init进程主要任务
1.解析init.rc 和 init.%hardware%.rc
2.开启Android Java虚拟机
...
Java Application进程
Java APP都来自于zygote的分支,system_server是最典型的Java APP。
System Server
system_Server启动ActivityManager, WindowManager, PackageManager
ActivityManagerService运行在system_service里,ActivityManagerService.systemReady准备好后将启动persistent applications.
persistent applications就是指在AndroidManifest.xml中有如下标记的:
<application android:name="..." android:persistent="true" ...>
Phone启动起来了
First Activity启动
ActivityManagerService发出Intent.CATEGORY_HOME来启动相应Activity
SetupWizard,JrdSetupWizard,Launcher等APP都监听了此Action,只是android:priority不同而已。
SetupWizard android:priority="5"
JrdSetupWizard android:priority="2"
Launcher android:priority=默认值0
其它Activity启动
当activity idle第一次出现,ActivityManagerService发出广播ACTION_BOOT_COMPLETED,Currently, MMS, AlarmClock, Calendar, MediaProvider, VoiceDialer and IM等都注册了此广播,进而自动启动了。Email,DownloadProvider也注册了,但是AndroidManifest.xml中有属性android:enabled="false",因此也不启动。
0 0
- Android开机启动流程
- android开机启动流程
- Android 开机启动流程
- Android开机启动流程
- Android开机启动流程
- Android开机启动流程初探
- Android开机启动流程初探
- Android开机启动流程说明
- Android开机启动流程初探
- Android开机启动流程初探
- android开机启动流程说明
- Android系统开机启动流程
- android开机启动LockScreen流程
- android开机启动流程说明
- Android系统开机启动流程
- android开机启动流程说明
- Android系统开机启动流程
- Android 开机启动流程分析
- java-string-tutorial-and-examples-beginners-programming
- struts2常用标签库之数据输出标签
- struts2常用标签库之表单标签
- mysql查询排名
- c++结束知识点
- android开机启动流程
- struts2常用标签库之非表单标签
- Windows编程基础
- HttpClient基础教程
- 中国字头的公司,都是财富毁灭者
- Hibernate 二级缓存 收集、总结整理
- struts2常用标签库之AJAX标签
- 谢国忠:中国经济这几年靠土地升值创造虚拟利润
- 排序算法之插入排序