二 、 activity启动模式

启动模式有四种:standard、singleTop、singleTask、singleInstance

设置方式:在AndroidManifest.xml 中通过给<activity> 标签指定android:launchMode 这个属性选择启动模式

1.standard :activity的默认启动模式,每一个新启动的activity都会在栈顶 

举例:  A》B》C             当我们从C依次按下返回键   C》B》A           先入后出      

2.singleTop    在启动活动时候,如果发现返回栈的栈顶已经是该活动,则认为可以直接用这个活动,不用再创建新的活动实例

举例:(1) A》A》A 此时如果按返回键 直接finish()返回之前的活动,或者退出程序;

           (2)A》B》C    此时启动A,因为A没有在栈顶,需要从新生成一个A的实例,变成A》B》C》A。依次按返回键 A》C》B》A

singleTop 可以解决重复创建栈顶活动问题

3.singleTask :每次启动该活动时候系统首先在返回栈中检查是否存在该活动的实力,如果发现已经存在则直接使用该实例,并把这个活动之上的所有活动统统出栈,如果没有发现就会创建一个新的活动实例。

举例:A》B  这时候我们在B中从新启动一个A。     但是执行的方法却是B的onDestory() 、A的onRestart();

4.singleInstance:会启动一个新的活动返回栈

举例:在返回栈1中的A 启动返回栈2中的B,此时B中启动返回栈中的C,此时如果C按返回键,返回的直接是A,再次按返回键,是B,再按返回键才是退出

A》B》C              C》A》B      

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值