这篇文章将用最简单的语言告诉你 AMS(ActivityManagerService)是什么及相关的知识点,帮我们更系统的理解Android系统的工作原理。
1. AMS简介
AMS是什么?
ActivityManagerService是一个服务(我们后面都坚称AMS),用来管理Activity,而且它是一个系统服务,就像包管理服务(PMS),电池管理,震动管理服务一样。
AMS是系统服务,所以运行在systemProcess(系统进程)中,但AMS是一个单独的线程,这个线程来处理AMS对Activity的管理,因为系统服务不可能运行在systemProcess进程的主线程中。
2. AMS主要功能
- 统一调度各应用程序的Activity。 Activity启动都要报告给AMS,AMS决定是否可以启动。Activity的启动过程序属于Activity内部操作,但AMS必须知道程序都运行了那些Activity。
- 内存管理。Android官方称,Activity退出后,所在进程不会被立刻杀死,下次启动时该Activity时能提高启动速度。只有当内存紧张时,才会被自动杀死。应用程序不用关注这个问题,正是AMS实现的。
- 进程管理。AMS向外提供了查询系统正在运行的进程信息的API。 </