- Android 触摸屏事件派发机制详解与源码分析一 View 篇
- Android 触摸屏事件派发机制详解与源码分析二 ViewGroup 篇
- Android 触摸屏事件派发机制详解与源码分析三 Activity 篇
- Android 应用 setContentView 与 LayoutInflater 加载解析机制源码分析
- Android 应用 Context 详解及源码解析
- Android 异步消息处理机制详解及源码分析
- Android 应用 Activity、Dialog、PopWindow、Toast 窗口添加机制及源码分析
- Android ListView 工作原理完全解析,带你从源码的角度彻底理解
- Activity 启动过程全解析
- Android 应用 AsyncTask 处理机制详解及源码分析
- 说说 PendingIntent 的内部机制
- Android Activity.startActivity 流程简介
- Activity 界面显示全解析
- 框架层理解 Activity 生命周期(APP 启动过程)
- APK 安装过程及原理详解
- Android 构建过程简述
- Android 应用层 View 绘制流程与源码分析
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
主要对象功能介绍
我们下面的文章将围绕着这几个类进行介绍。可能你第一次看的时候,印象不深,不过没关系,当你跟随者我读完这篇文章的时候,我会在最后再次列出这些对象的功能,相信那时候你会对这些类更加的熟悉和深刻。
- ActivityManagerServices,简称 AMS,服务端对象,负责系统中所有 Activity 的生命周期
- ActivityThread,App 的真正入口。当开启 App 之后,会调用 main() 开始运行,开启消息循环队列,这就是传说中的 UI 线程或者叫主线程。与 ActivityManagerServices 配合,一起完成 Activity 的管理工作
- ApplicationThread,用来实现 ActivityManagerService 与 ActivityThread 之间的交互。在 ActivityManagerService 需要管理相关 Application 中的 Activity 的生命周期时,通过 ApplicationThread 的代理对象与 ActivityThread 通讯。
- ApplicationThreadProxy,是 ApplicationThread 在服务器端的代理,负责和客户端的 ApplicationThread 通讯。AMS 就是通过该代理与 ActivityThread 进行通信的。
- Instrumentation,每一个应用程序只有一个 Instrumentation 对象,每个 Activity 内都有一个对该对象的引用。Instrumentation 可以理解为应用进程的管家,ActivityThread 要创建或暂停某个 Activity 时,都需要通过 Instrumentation 来进行具体的操作。
- ActivityStack,Activity 在 AMS 的栈管理,用来记录已经启动的 Activity 的先后关系,状态信息等。通过 ActivityStack 决定是否需要启动新的进程。
- ActivityRecord,ActivityStack 的管理对象,每个 Activity 在 AMS 对应一个 ActivityRecord,来记录 Activity 的状态以及其他的管理信息。其实就是服务器端的 Activity 对象的映像。
- TaskRecord,AMS 抽象出来的一个“任务”的概念,是记录 ActivityRecord 的栈,一个“Task”包含若干个 ActivityRecord。AMS 用 TaskRecord 确保 Activity 启动和退出的顺序。如果你清楚 Activity 的 4 种 launchMode,那么对这个概念应该不陌生。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论