1.概览
ATMS在我看来属于AMS的一个辅助类,剥离了AMS中的一些功能到ATMS,下面引用官方的简单说明
System service for managing activities and their containers (task, displays,... ).
2.ActivityTaskManagerService 的实例化
//frameworks/base/services/java/com/android/server/SystemServer.java
startBootstrapServices
ActivityTaskManagerService atm = mSystemServiceManager.startService(ActivityTaskManagerService.Lifecycle.class).getService();
根据SystemServiceManager章节的分析可知 startService(ActivityTaskManagerService.Lifecycle.class) 对应代码如下
startService(ActivityTaskManagerService.Lifecycle.class)
Lifecycle(Context context)
//code 1
super(context);
//code 2
mService = new ActivityTaskManagerService(context);
...
mInternal = new LocalService();//final ActivityTaskManagerInternal mInternal;
ActivityTaskManagerService.Lifecycle.onStart()
//code 3
publishBinderService(Context.ACTIVITY_TASK_SERVICE, mService);
//code 4
mService.start();// mService type is ActivityTaskManagerService
||
LocalServices.addService

本文解析了Android系统中ActivityTaskManagerService (ATMS) 和ActivityManagerService (AMS) 的启动过程,包括它们如何实例化和服务注册。重点关注ATMS和AMS内部组件的初始化及服务公开方式。
最低0.47元/天 解锁文章
4146

被折叠的 条评论
为什么被折叠?



