Android ActivityStack笔记

ActivityStack笔记

ActivityStack作用:管理当前Activity的状态

ActivityState描述了一个Activity所可能经历的所有状态
enum ActivityState {
INITIALIZING,
RESUMED,
PAUSING,
PAUSED,
STOPPING,
STOPPED,
FINISHING,
DESTROYING,
DESTROYED,
RESTARTING_PROCESS
}

ActivityRecord负责记录每个Activity的运行时信息

还有一些ArrayList保存了Activity的信息
在这里插入图片描述

android:taskAffinity 代表这个Activity所希望所属的Task,在默认情况下,同一个应用程序中拥有共同的Affinity
不同标签情况:
1、带有FLAG_ACTIVITY_NEW_TASK时,代表它希望重新开设一个Task,判断是否有Task的affinity与新的Activity一样。是:用此Task完成操作;否:重启一个Task。
2、allowTaskReparenting为true,该情况下Activity具有动态转移的能力,被启动的Activity会被挪动到它更亲近的Task中。

android:launchMode
standard:默认状态,归属于startActivity将其启动的那个task,指明了FLAG_ACTIVITY_NEW_TASK例外
singleTop:判断栈顶是否是目标Activity,是的话 intent通过newIntent传递给Activity
singTask:单实例,且永远在新task的根位置,允许其他Activity加入它所在的Task
singleInstance:不允许其他Activity进驻到它所在的task中。

其他属性:
android:clearTaskOnLaunch 清除Task中除root activity的元素,仅root activity设置有效

android:alwaysRetainTaskState 如果用户在一定时间内不再访问Task,那么系统有可能会清除task中的状态(只保留root activity)

参考:
《深入理解Android内核设计思想》

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值