Android:ActivityTaskManagerService接管ActivityManagerService

江仲渊
2023-12-01

ActivityManagerService这个服务,对于玩Android的开发人员,应该再熟悉不过了,它是掌管Activity的核心。

不过从Android 10.0(API 29)开始,再看ActivityManagerService的代码,会发现,ActivityManagerService的工作已经被ActivityTaskManagerService这个服务接管了。具体我们就看看这里的变化。

虽然说ActivityTaskManagerService接管了ActivityManagerService,但是为了保持不同版本系统的正常运行,ActivityManagerService依然可用,原有接口也依然可用,只不过有一些被标注为了@Deprecated,代码也跳转到了ActivityManagerService去执行,比如startActivity

//Android 10.0以前
@Override
public final int startActivity(IApplicationThread caller, String callingPackage,
        Intent intent, String resolvedType, IBinder resultTo, String resultWho, int requestCode,
        int startFlags, ProfilerInfo profilerInfo, Bundle bOptions) {
    return startActivityAsUser(caller, callingPackage, intent, resolvedType, resultTo,
            resultWho, requestCode, startFlags, profile
 类似资料: