相信大部分android开发者都对ActivityManagerServices(以后简称AMS)有所耳闻,AMS是Android上层系统中最核心的模块之一,主要负责系统中Activity,service,broadcast,contentprovider的启动,切换,调度及应用程序的管理和调度等工作。在进一步分析之前,先了解一下ActivityManagerServices的主要功能:
(1)统一调度各应用程序的Activity;
(2)内存管理
(3)进程管理
下面直接上ActivityManagerServices的家族图谱:
从图中可以看出:
(1)AMS由ActivityManagerNative(以后简称AMN)类派生,并实现Watchdog.Monitor和BatteryStatsImpl.BatteryCallback接口。而AMN由Binder派生,实现了IActivityManager接口。
(2)客户端使用ActivityManager类。由于AMS是系统核心服务,很多API不能开放供客户端使用,所以设计者没有让ActivityManager直接加入AMS家族。在ActivityManager类内部通过调用AMN的getDefault函数得到一个ActivityManagerProxy对象,通过它可与AMS通信
未完待续。。。。。
Android ActivityManagerServices基本框架
最新推荐文章于 2024-05-04 10:48:02 发布