美文网首页managerAndroid知识
Android ActivityManager一些心得

Android ActivityManager一些心得

作者: 快乐自由与爱的源泉 | 来源:发表于2017-07-16 16:09 被阅读75次

    最近在处理ActivityManager问题中得到的一些心得分享给大家,如有错误请指教。

    活动管理(activitymanager)

           activitymanagerservice是以栈的管理活动的。每一个活动属于一个任务,一个任务可以看做一系列活动集合;task内部以堆栈的概念管理着;每次切换一个新的任务的时候;都会将所属活动切换到前台,并将活动置于栈顶;之后才会进行恢复的过程。

           所有的任务共同存储在ArrayList中,每当发生任务切换的时候,都要执行ArrayList的删除(delete)和移动(move)工作任务和活动任务图,

    栈的工作任务图

    在上图中我们可以看到A,B,C,DE,F代表着6个活动;颜色相同的活动属于一个task.F位移栈顶;表示用于当前的交互的活动;F所属任务也称为前台任务;所以从图上可以看出;任务只有概念之分;并没有额外的数据结构单独来实现;task是以ArrayList方式实现的,index索引为0时;Activity A位移栈底;index为5时;活动F位移栈顶。

    当F中startActivity,A会发生什么场景?这些设置到活动launchmode和intent中的启动关于这部分的可以参考任务和返回堆栈

    下面用一张图来表示Task  and back stack来做一点补充:

    task  and  back  stack用例

    上图中启动目标的意图标志都是采用默认值。

    相关文章

      网友评论

        本文标题:Android ActivityManager一些心得

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