Android组件管理框架—视图容器Activity之回退栈

一 前言

任务、回退栈概念

         一个Task是多个能够和用户进行交互并且能完成某种功能的activities的集合,可以通过getTaskId()方法来获取当前Activity对象所在Task的Id。 这些Activity被被放在一个堆栈(backstack)里,后启动的Activity对象的ActivityRecord会放在Task的栈顶。

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

        当用户点击进入桌面按钮回到桌面或者启动一个新的任务,之前的那个任务将会进入后台,它的所有Activity都停止了,但是这个任务的返回队列仍然是完整的,只是失去了焦点。一个任务可以重新回到前台获取焦点。这也就是Android的多任务。

       Task是可以跨应用的,有的Activity,虽然不在同一个app中,但为了保持用户操作的连贯性,把他们放在同一个Task中。

       可以回看前面相关的知识:Android组件管理框架—视图容器Activity之启动流程(Android P)

                           

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值