
ActivityManagerService
了解AMS,需要先阅读 Android进阶解密 专栏
享学课代表
这个作者很懒,什么都没留下…
展开
-
AMS系列③—常见的数据结构
本文介绍AMS管理Activity时涉及到的重要的数据结构:ProcessRecord:安卓系统中用于描述进程的数据结构ActivityRecord:描述Activity的数据结构TaskRecord:描述栈的数据结构ProcessRecordAMS中的ProcessRecord成员变量变量意义注释mProcessNames数据类型为ProcessMap,以包名为key来记录ProcessRecord;All of the applications we cur原创 2020-11-12 18:12:25 · 481 阅读 · 0 评论 -
AMS系列②—Binder通信的双向代理绑定
Binder进程见通信是通过远程代理来实现的,SystemServer进程和APP用户进程使用Binder进行通信,必须建立双向的代理绑定,即:一个进程即使客户端也是服务端,这样才能实现双工通道:只有持有对方进程的代理对象,才能通过代理对象控制真实对象做事情,代理对象必须是一个Binder接口,因为它要依赖Binder帮我们做底层的进程间的数据传递,下面从源码分析下,这个双向代理的建立过程:App进程创建AMS代理 (APP作为客户端)上一篇文章介绍了ams的创建的具体细节,在 startBoo原创 2020-11-12 18:11:13 · 494 阅读 · 0 评论 -
AMS系列①—AMS的启动
AMS作为Android FrameWork中最核心的一个部分,是应用层开发者进阶的里程碑,本文是AMS专栏的第一篇文章,介绍AMS的启动相关:在学习AMS之前,需要掌握一些基础知识:Android系统的启动过程Android进程通信方式—Binder机制Android线程同步方式—Handler机制在学习完上面的内容后,我们可以知道AMS的启动是由SystemServer进程发起的:SystemServer.main()AMS的入口方法SystemServer的main()做了两件事:原创 2020-11-12 18:08:18 · 780 阅读 · 0 评论