启动一个应用无非都是通过这个startActivity()函数来完成,通常我们启动一个app都是在桌面点击Launcher图标,大概流程主要是以下几个步骤:


1.Launcher通过Binder进程间通信机制通知ActivityManagerService,它要启动一个Activity。


2.ActivityManagerService通过Binder进程间通信机制通知Launcher进入Paused状态。


3.Launcher通过Binder进程间通信机制通知ActivityManagerService,它已经准备就绪进入Paused状态,于是ActivityManagerService就创建一个新的进程,用来启动一个ActivityThread实例,要启动的Activity在ActivityThread实例中。


4.ActivityThread通过Binder进程间通信机制将一个ApplicationThread类型的Binder对象传递给ActivityManagerService,以便以后ActivityManagerService能够通过这个Binder对象和它进行通信。


5.ActivityManagerService通过Binder进程间通信机制通知ActivityThread,现在一切准备就绪,它可以真正执行Activity的启动操作。

更多相关文章

  1. android Service中启动Dialog
  2. Android中杀死进程的方法
  3. Android系统启动流程源码分析
  4. Android设计——Activity和Task的设计思路和方法
  5. Android(安卓)Application Addon(插件) 架构及管理
  6. Avtivity 知识点,不断更新中
  7. Android中Application分析
  8. android jni示范 修改无法启动注意点 jni无效
  9. activity 基础补习

随机推荐

  1. 更改.android目录位置
  2. ( 转)关于Android的nodpi,xhdpi,hdpi,mdp
  3. (2016.5.26更新8.0.1失效问题)Android(安
  4. android用什么表示本机地址
  5. Testing和Instrumentation
  6. 面试之Android五种布局
  7. android 基础学习(5)-----Android(安卓)B
  8. 接触Android
  9. android selector 选择器失效
  10. 给Android开发者的Flutter指南 (下) [翻