Android中的四种启动模式

启动模式

  standard : 默认模式 无论什么情况,只要开启Activity都会创建一个新的放在任务栈中!!被开启的Activity的任务栈和开启他的Activity任务栈是同一个!
  
  singleTop :当使用这种启动模式的Activity在栈顶的时候,再次开启,就不会创建新的Activity,如果不在栈顶,和默认模式一样!!!
  
  singleTask:  在同一个栈中只能有唯一的Activity实例,如果要跳转至已存在的singleTask模式的Activity,那么会清除这个Activity以上的所有Activity把他显示出来!!
  

  singleIntance:会创建一个新的任务栈,如果已经存在,就不会创建了!!!只有他自己

Activity什么情况下会复用!!

  
  1.SingleTop: 当前Activity在顶部,再次启动的时候会复用!

  2.SingleTask: Activity是SingleTask时候,再次启动就会复用!!

  3.singleInstance: Activity是SingleInstance时候,再次启动也会复用!

使用

 

  清单文件中,对应每个Activity都会有一个 launchMode=属性,用来控制本Activiy启动模式

           可以在java代码中进行启动模式设置!如果既有清单文件设置,又有java代码设置! 已代码设置为主!!

        setFlags只能设置三种启动模式
    1.如果不设置,就是默认!
    2.如果flags 为Flag_activity_single_top 
     相当于 清单文件中的 singleTop
    3.Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP
    两个结合起来相当于  singleTask
    可以写两个属性,用|拼接
    注意 flags属性不能设置 singleIntance


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈德山

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值