Android中的AMS

AMS是一个系统关键服务,运行在系统进程System_Server中,AMS实现了IBinder接口,它在一个单独的线程中运行,activity/service生命周期的回调都由AMS完成。

AMS提供了一个ArrayList mHistory来管理所有应用的activityactivityAMS中的形式是ActivityRecordtaskAMS中的形式为TaskRecord,进程在AMS中的管理形式为ProcessRecord。所有的ActivityRecord会被存储在mHistory管理,每个ActivityRecord会对应到一个TaskRecord,并且有着相同TaskRecordActivityRecordmHistory中会处在连续的位置,同一个TaskRecordActivity可能分别处于不同的进程中。
      
通过Intent启动一个activityAMS在得到请求启动activity时,首先需要根据IntentPackageManager中获得要启动的activityPackageManager解析应用的AndroidManifest.xml来获得所有的activity信息,针对每个Intent提供的信息,PackageManager会提供给AMS一个ResolveInfo对象。

    原文作者:Mr-Xi
    原文地址: https://blog.csdn.net/Beixiaozhang/article/details/52975617
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞