Android之Activity(三)Task和LaunchMode

转载请注明出处:www.leoyanblog.com

本文出自 LeoYan 的博客

本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 LeoYan 即可关注。

Activity的任务和启动模式

任务与返回栈

后进先出原则

后进先出

  Task 就好像是能包含很多 Activity 的栈。默认情况下,一个 Activity 启动另外一个 Activity 时,两个 Activity 是放在同一个 Task 栈中的,第二个 Activity 压入第一个 Activity 所在的 Task 栈。当用户按“返回”按钮时,第二 Activity 从栈中弹出,第一个 Activity 恢复执行。直到用户返回主屏幕为止(或者,返回 Task 中正在运行的任意 Activity)。当所有 Activity 均从堆栈中移除后,Task 即不复存在。

多任务

多任务

  Task 是一个有机整体,当用户开始新 Task 或通过“主页”按钮转到主屏幕时,可以移动到“后台”。 尽管在后台时,该任务中的所有 Activity 全部停止,但是 Task 的返回栈仍旧不变,也就是说,当另一个 Task 发生时,该 Task 仅仅失去焦点而已,如上图中所示。然后, Task 可以返回到“前台”,用户就能够回到离开时的状态。

注:后台可以同时运行多个 Task 。但是,如果用户同时运行多个后台 Task ,则系统可能会开始销毁后台 Activity,以回收内存资源,从而导致 Activity 状态丢失。

可多次实例化

多次实例化

  应用中的一个 Activity 可能会多次实例化,如上图所示。因此,如果用户使用“返回”按钮向后导航,则会按 Activity 每个实例的打开顺序显示这些实例(每个实例的 UI 状态各不相同)。

任务的默认行为总结
  • 当 Activity A 启动 Activity B 时,Activity
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值