[Android]Activity启动过程

简介:

Android系统启动加载流程:

参考图

  • Linux内核加载完毕
  • 启动init进程
  • init进程fork出zygote进程
  • zygote进程在ZygoteInit.main()中进行初始化的时候fork出SystemServer进程
  • SystemServer进程开启的时候初始化ActivityThreadActivityManagerService(其它还有PowerManagerServiceDisplayManagerServicePackageManagerService
  • 启动LauncherLauncher本质上也是一个App,继承自Activity

App与AMS通过Binder进行IPC通信

启动一个Activity

客户端:ActivityManagerProxy --> Binder驱动 --> ActivityManagerService:服务器

  • ActivityThread
    老板,虽然说家里的事自己说了算,但是需要听从AMS的指挥
  • Instrumentation
    老板娘,负责家里的大事小事,但是一般不抛头露面,听一家之主ActivityThread的安排,每个Activity都有一个Instrumentation引用,整个进程只有一个Instrumentation实例
  • ActivityManagerProxy
    ActivityManagerNative.getDefault().startActivity获取ActivityManagerProxy对象通过Binder IPC与AMS通信
  • AMS
    真正启动一个Ativity(ActivityStackSupervisorActivityStack

Resume一个Activity

客户端:ApplicationThread <-- Binder驱动 <-- ApplicationThreadProxy:服务器

  • AMS
  • ApplicationThreadProxy
    ApplicationThreadProxy对象通过Binder IPC与客户端通信。
  • ApplicationThread
  • Handler
  • ActivityThread
  • Activity
    调用onResume方法

AMS(SystemServer进程)与zygote通过Socket进行IPC通信

参考:http://blog.csdn.net/zhaokaiqiang1992/article/details/49428287

本文转自天天_byconan博客园博客,原文链接:http://www.cnblogs.com/tiantianbyconan/p/4952613.html ,如需转载请自行联系原作者
相关文章
|
3月前
|
Android开发 开发者
Android UI设计: 请解释Activity的Theme是什么,如何更改应用程序的主题?
Android UI设计: 请解释Activity的Theme是什么,如何更改应用程序的主题?
42 1
|
3月前
|
数据库 Android开发 开发者
Android基础知识:请解释Activity的生命周期。
Android基础知识:请解释Activity的生命周期。
43 2
|
6月前
|
存储 SQL 人工智能
Android Activity启动流程一:从Intent到Activity创建
Android Activity启动流程一:从Intent到Activity创建
|
2月前
|
Android开发
[Android 四大组件] --- Activity
[Android 四大组件] --- Activity
22 1
|
3月前
|
Android开发
Android基础知识:什么是Fragment?与Activity的区别是什么?
Android基础知识:什么是Fragment?与Activity的区别是什么?
283 54
|
4月前
|
XML 安全 Java
Android Studio App开发入门之活动Activity中为活动补充附加信息讲解及实战(附源码 超详细必看)
Android Studio App开发入门之活动Activity中为活动补充附加信息讲解及实战(附源码 超详细必看)
35 0
|
4月前
|
Android开发
Android Studio App开发入门之在活动之间传递消息(附源码 超详细必看)(包括显示和隐式Intent,向上一个和下一个Activity发送数据)
Android Studio App开发入门之在活动之间传递消息(附源码 超详细必看)(包括显示和隐式Intent,向上一个和下一个Activity发送数据)
44 0
|
4月前
|
Android开发
Android Studio APP开发入门之活动Activity中启停活动页面的讲解及实战(附源码,包括Activity的启动结束、生命周期、跳转等)
Android Studio APP开发入门之活动Activity中启停活动页面的讲解及实战(附源码,包括Activity的启动结束、生命周期、跳转等)
41 0
|
5月前
|
Android开发
安卓activity管理器
安卓activity管理器
27 0
|
6月前
|
SQL 人工智能 Java
Android Activity 启动流程 二:setContentView
Android Activity 启动流程 二:setContentView