前言

提示:AMS和WMS是安卓系统层的核心服务,对于安卓系统层开发人员来说,必须掌握它们的工作原理和使用方法。

一、AMS和WMS是什么?

AMS和WMS是Android中的两个重要组件,分别是Activity Manager Service和Window Manager Service。

AMS:

Activity Manager Service (AMS)是Android中用来管理Activity生命周期的服务,它的主要功能是跟踪和管理应用程序中的Activity状态,例如Activity的创建、销毁、启动、停止等等。AMS负责启动新的Activity,并将其添加到应用的任务栈中,还负责根据优先级和内存的使用情况,结束低优先级的Activity来释放系统资源。

WMS:

Window Manager Service (WMS)负责管理Android中所有窗口的位置、大小、层级以及其他属性,它还负责处理用户输入事件并将它们传递给目标窗口。WMS还支持窗口动画、悬浮窗口和屏幕截图等功能,是Android系统中非常重要的一个组件。
AMS和WMS是Android系统的核心组件,它们协同工作,确保应用程序在正确的时间被启动和停止,同时也保证应用程序窗口的正确显示和用户输入事件的正确处理。

二、举个例子(WMS的简单使用)

悬浮窗实现

三、AMS和WMS源码研究

因为安卓系统源码是开源的,AMS和WMS源码太多了,遇到实际问题再去定位源码吧
以下链接找到 AMS 和 WMS 的源代码:
AMS源码定位
WMS源码定位

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐