Activity启动模式介绍

     先跟大家介绍一下任务栈,任务栈是存放activity的地方,就是你每开启一个activity都往任务栈的栈顶添加一个新的activity(这是正常情况下),当你点击返回的时候就会把任务栈的栈顶的activity从任务栈中弹出去。所以任务栈的进入模式是先进后出。

    avtivity的启动模式跟任务栈是紧密相连的。activity的启动模式有四种:standard、singleTop、singleTask、singleInstance。

(1)standard:这种模式是默认的模式、也是最常用的。开发中起码90%以上是这种模式。这种模式不存在复用,就是无脑的新打开一个activity。

(2)singleTop:

  <activity
            android:name=".Module.WorkTask.BeginWorkFlowActivity"
            android:launchMode="singleTop" />

当你开启一个新的activity的时候回进行判断,判断你想要开启的activity是不是已经在任务栈的顶端,如果是就不会重新开启一个activity,会复用站顶端的那个activity进行显示。

(3)singleTask:这种启动模式在开发中占了8%,最长用到的是主界面。

 <activity
            android:name=".Module.WorkTask.BeginWorkFlowActivity"
            android:launchMode="singleTask" />
   当你开启一个activity的时候回先判断任务栈中是否已经存在了你想开启的那个activity,如果存在了就直接复用。但是会关闭在任务栈中排序在你要复用的activity前面的所有activity。比如:我上传图片的那个栈,我现在想开启activityB,然后就会复用activityB,但是会关闭activityC和activityD。

(4)singleInstance:

<activity
            android:name=".Module.WorkTask.BeginWorkFlowActivity"
            android:launchMode="singleInstance" />

  当你把想要开启的那个activity设置了这个启动模式之后,那么你开启的这个activity开启的时候会单独开启一个任务栈,并且你重复开启该activity都会进行复用,只不过是把任务栈的位置进行了调换。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值