android学习记录(十三)Task 和 Activity 回退栈操作。

首先说一下Task是一个什么概念吧:Task是一个包含activity的列表。没

错,简单的说就是按照启动的先后来排队的一个队列。Back Stack,就是回退栈的意思:那么有什么用?Back Stack是存储一个Task的实现方式,一个容器。它具有栈的特性:后进先出。

那么,依据什么来把activity指定给某个Task

------默认情况下,根据activity的启动的顺序,加入A启动了B,那么B默认情况下就放到了

ATaskBack Stack里面啦。当然,你也可以去修改这一个默认的行为。在下面的一些部分会讲述怎么去修改的啦。

 

需要注意的一点是:假如一个activity在一个新的task里启动且没有其他直接启动的方法(即不是MainLaunchactivity),然后按下Home键离开了该Task,然后通过启动图标来返回应用的话,是无法回到该activity的。

 

 

1.保存activity的属性和状态:

 

默认情况下,activity脱离前台进入后台运行的时候,系统会自动保存它的配置信息,当用

户返回到activity的时候,可以自动的复原.

然而当过了比较长的一段时间后或者系统需要回收内存什么的,会清除掉它的配置信息,

用户返回到该activity的时候会重新的启动该activity.

那么这种情况下如果要把以前做的重新再来一遍,这用户体验想想就觉得不妥啊.那么我

们需要自己去保存和恢复activity的配置信息.then ,how?

实现onSaveInstanceState()方法,把所需的属性信息保存到bundle.

onCreate()方法里会有一个Bundle参数,如果不为空的话证明了之前是有一些信

信息是保存在这里的,我们就可以利用里面的信息去恢复用户原本处于的状态,这样子用户的体验是不是就好狠多啦?嘿嘿嘿嘿嘿

 

2.管理Task

如开头所说,我们可以修改系统的默认行为(即如果A启动了B,会把B放入A所在的TaskBack Stack里),那么,有两种方式可以做到:

 

A.startActivity(Intent intent)intent中定义flag

inten

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值