android中的四种启动模式-图文并茂更好理解

一、启动模式介绍:

1、activity启动模式可以在AndroidManifest.xml中设置,标签为android:launchMode。它的四种启动模式分别为standard,singleTop,singleTask,singleInstance

 2、在Intent中设置,Intent.setFlags()。核心的Intent Flag有:

FLAG_ACTIVITY_NEW_TASK

FLAG_ACTIVITY_CLEAR_TOP

FLAG_ACTIVITY_RESET_TASK_IF_NEEDED

FLAG_ACTIVITY_SINGLE_TOP

二、activity中四种启动模式的 详细介绍:

1、standard启动模式,就是系统默认的启动模式,系统不管活动是否在返回栈中,每次启动都会创建该活动的一个新的实例。

例如A->A->A->B->C->C->C,A启动A,A启动A,A启动B,B启动C,C启动C,C启动C:

出栈为C->C->C->B->A->A

2、singleTop启动模式,在启动活动时如果发现启动的活动为栈顶,则直接使用它,若启动的活动为非栈顶,则创建新的活动实例。如图所示:


3、singleTask启动模式,每次启动该活动,如果该活动在栈中,则直接使用,该活动栈上面的所有活动被清除栈;如果该活动没在栈中,则创建一个新的活动实例

 

4、使用singleInstance 模式就可以解决这个问题,在这种模式下会有一个单独的返回栈来管理这个活动,不管是哪个应用程序来访问这个活动,都共用的同一个返回栈,也就解决了共享活动实例的问题。
假设B启动A,A启动C,其中A的启动模式为singleInstance,则:
返回的页面顺序是C-B-A

转自:http://www.androidchina.net/3173.html

觉得写的不错,拿来学习,尊重原创。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值