AMS深入浅出

2024-06-13 22:28
文章标签 深入浅出 ams

本文主要是介绍AMS深入浅出,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目标:

1.

一、AMS启动流程

ActivityManagerService是

安卓10 以后,将AMS拆分出ActivityTaskManagerService。

1.1 启动入口

AMS是由SystemServer进程启动,在启动过程

startBootStripService,会启动AMS和ATMS服务。

SystemServiceManager:专门提供给SystemServer进程管理90多个服务的。

系统服务继承SystemService父类,系统服务都继承这个类,可以由SystemServiceManager统一管理这些服务。

1.2 AMS主要作用

AMS(包括ATMS)主要是提供给应用(Application)使用

二、AMS类结构设计

ActivityManagerService继承IActivityManager.Stub

创建一个静态内部类 ActivityManagerService.Lifecycle继承SystemService

publishService: 将AMS服务注册到ServiceManager,ServiceManager统一管理系统服务的访问Binder对象。

三、AMS职责

AMS职责

  • 管理四大组件

  四、Activity启动流程      

4.1 APP启动流程图

1)点击桌面应用,调用startActivity, 拿到AMS的binder,然后调用AMS.startActivity

2)启动进程时,判断目标Activity所在的进程是否存在。进程不存在,则发送消息给zygote进程,

3)zygote fork出一个新的子进程。

4)进程创建以后,attach到AMS,将子进程注册到AMS

5)AMS发送scheduleLauncherActivity执行Activity生命周期

4.2 进程的启动

这篇关于AMS深入浅出的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1058592

相关文章

深入浅出SRS—RTMP实现

RTMP 直播是 SRS 最典型的使用场景,客户端使用 RTMP 协议向 SRS 推流,使用 RTMP 协议从 SRS 拉流,SRS 作为一个 RTMP 直播服务器实现媒体的转发。同时,RTMP 是 SRS 的中转协议,其他协议之间的互通需要先转为 RTMP,因此,理解 SRS RTMP 直播实现是理解其他协议实现的重要前提。本文主要分析 SRS RTMP 直播功能的实现原理,相关概念和配置请参考

深入浅出Java垃圾回收机制

对于Java开发人员来说,了解垃圾回收机制(GC)有哪些好处呢?首先可以满足作为一名软件工程师的求知欲,其次,深入了解GC如何工作可以帮你写出更好的Java应用。   这仅仅代表我个人的意见,但我坚信一个精通GC的人往往是一个好的Java开发者。如果你对GC的处理过程感兴趣,说明你已经具备较大规模应用的开发经验。如果你曾经想过如何正确的选择GC算法,那意味着你已经完全理解你所开发的应用的特点

深入浅出Stream流

Java 8的新特性之一就是流stream,配合同版本出现的 Lambda ,使得操作集合(Collection)提供了极大的便利。 案例引入 在JAVA中,涉及到对数组、Collection等集合类中的元素进行操作的时候,通常会通过循环的方式进行逐个处理,或者使用Stream的方式进行处理。 假设遇到了这么一个需求:从给定句子中返回单词长度大于5的单词列表,按长度倒序输出,最多返回3个。

深入浅出Android中的MVP模式

MVP模式是在MVC模式的基础之上改进而来的。MVP模式分为:model,view,presenter三部分。三部分的关系如下图所示: 其中PresenterCompl实现IPresenter接口,PresenterCompl中的方法要改变view时通过调用IView中的方法来实现。Model层为PresenterCompl提供数据。 也就是说之前MVC中view的控制都是在activit

[Cocoa]深入浅出 Cocoa 之 Core Data(2)- 手动编写代码

深入浅出 Cocoa 之 Core Data(2)- 代码示例 罗朝辉( http://blog.csdn.net/kesalin) CC 许可,转载请注明出处 前面 详细讲解了 Core Data 的框架以及设计的类,下面我们来讲解一个完全手动编写代码使用这些类的示例,这个例子来自苹果官方示例。在这个例子里面,我们打算做这样一件事情:记录程序运行记录(时间与 proc

带你深入浅出之QT编程:一、掌握信号与槽的奥秘

此为QT编程的第一谈!关注我,带你快速学习QT编程的学习路线! 每一篇的技术点都是很很重要!很重要!很重要!但不冗余! 我们通常采取总-分-总和生活化的讲解方式来阐述一个知识点! 码农不易,各位学者学到东西请点赞支持支持! 开始部分: 总:信号与槽,简单来说:信号就是事件,槽就是函数。信号只需声明,不需要实现,槽函数需要实现。(重中之中,开发过程中贯穿此机制) 就像我去咖啡厅点餐(

深入浅出:关系数据库中的基础概念与形式化定义

关系数据库是现代数据管理系统的核心,而理解关系数据库的基础概念是学习和应用这一技术的第一步。在这篇文章中,我们将通过简洁明了的解释,帮助您掌握关系的形式化定义及其相关概念。 1. 什么是关系模型? 关系模型是数据库管理系统中用于组织和管理数据的一种模型。它以二维表的形式表示数据,表中的每一行代表一个实体或记录,而每一列则代表一个属性或字段。 1.1 关系模型的基础 在关系模型中,数据的组织

【vSphere 7/8】深入浅出 vSphere 证书 Ⅲ—— vSphere 证书的更新和替换概述

目录 摘要1. vSphere Certificate Architecture2. 证书更新和替换概述2.1更新 VMCA 签名的证书(1)使用 vSphere Client UI(2)使用 vSphere Certificate Manager 命令行工具(自动)(3)使用 dir-cli、certool 和 vecs-cli 命令行工具(手动)(4)使用 vSphere Automat

O'Reilly之深入浅出Head First系列的中文版与英文版合集

来源url:http://blog.csdn.net/torchfire/article/details/12320479 Head First系列是O’Reilly出版社最成功的系列图书,自问世以来受到了无数读者的喜爱,并屡获大奖。其图文并茂,讲述编程技术由浅到深,也被称为“深入浅出”系列,是不可多得的各阶段程序员的参考学习资料。 收藏的中文版:  深入浅出数据分析(美

带你深入浅出新面经:十六、十大排序之快速排序

此为面经第十六谈!关注我,每日带你深入浅出一个新面经。 我们要了解面经要如何“说”! 很重要!很重要!很重要! 我们通常采取总-分-总方式来阐述!(有些知识点,你可以去了解,但是面经并不是需要全部了解的) 码农不易,各位学者学到东西请点赞支持支持! 排序算法部分可以记忆简单过程概述。 开始部分: 总:快速排序算法通过选取一个基准值,将数组分为两个子数组,一个包含小于基准值的元