[Android]Activity启动过程
来源:互联网 发布:天猫优质男装品牌知乎 编辑:程序博客网 时间:2024/05/17 03:31
Android系统启动加载流程:
参考图
- Linux内核加载完毕
- 启动
init
进程 init
进程fork出zygote
进程zygote
进程在ZygoteInit.main()
中进行初始化的时候fork出SystemServer
进程SystemServer
进程开启的时候初始化ActivityThread
和ActivityManagerService
(其它还有PowerManagerService
,DisplayManagerService
,PackageManagerService
)- 启动
Launcher
,Launcher
本质上也是一个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(ActivityStackSupervisor
,ActivityStack
)
Resume一个Activity
客户端:ApplicationThread <-- Binder驱动 <-- ApplicationThreadProxy:服务器
- AMS
- ApplicationThreadProxy
ApplicationThreadProxy
对象通过Binder IPC与客户端通信。 - ApplicationThread
- Handler
- ActivityThread
- Activity
调用onResume方法
AMS(SystemServer进程)与zygote通过Socket进行IPC通信
0 0
- android activity 启动 过程
- Android-Activity启动过程
- [Android]Activity启动过程
- android Activity启动过程-startActivity
- Android Activity的启动过程
- Android Activity的启动过程
- Android Activity的启动过程
- 学习android内核 -- Activity启动过程
- Android源码分析-Activity的启动过程
- Android源码分析-Activity的启动过程 .
- Android源码分析-Activity的启动过程
- Android源码分析-Activity的启动过程
- Android源码分析-Activity的启动过程
- Android Activity组件的启动过程
- Android Activity组件的启动过程
- Android源码分析-Activity的启动过程
- android学习--Activity及应用启动过程
- Android中Activity启动过程探究
- git - git 命令使用笔记
- 超大01背包(hdu 5887)
- [Leetcode] Valid Parentheses
- Makefile中origin函数
- Unity客户端架构-UIContainer
- [Android]Activity启动过程
- 面向对象程序设计上机练习九(对象指针)
- 有刷、有感和无刷无感电机的使用心得
- 不依赖storyboard实现ViewController跳转和传参
- 微信native扫码支付
- 一、安卓预备知识
- 网站上传文件学习笔记
- 字符流中第一个不重复的字符
- [Android]使用RecyclerView替代ListView(一)