美文网首页
Activity的管理机制

Activity的管理机制

作者: 侯蛋蛋_ | 来源:发表于2017-12-28 20:27 被阅读0次

    AMS提供了一个ArrayList mHistory来管理所有的activity,activity在AMS中的形式是ActivityRecord,task在AMS中的形式为TaskRecord,进程在AMS中的管理形式为ProcessRecord。如下图所示

    从图中我们可以看出如下几点规则:

    1. 所有的ActivityRecord会被存储在mHistory管理;

    2. 每个ActivityRecord会对应到一个TaskRecord,并且有着相同TaskRecord的ActivityRecord在mHistory中会处在连续的位置;

    3. 同一个TaskRecord的Activity可能分别处于不同的进程中,每个Activity所处的进程跟task没有关系;

    Activity启动时ActivityManagerService会为其生成对应的ActivityRecord记录,并将其加入到回退栈(back stack)中,另外也会将ActivityRecord记录加入到某个Task中。请记住,ActivityRecord,backstack,Task都是ActivityManagerService的对象,由ActivityManagerService进程负责维护,而不是由应用进程维护。

    在回退栈里属于同一个task的ActivityRecord会放在一起,也会形成栈的结构,也就是说后启动的Activity对应的ActivityRecord会放在task的栈顶

    相关文章

      网友评论

          本文标题:Activity的管理机制

          本文链接:https://www.haomeiwen.com/subject/krxbgxtx.html