Android中Activity启动的四种模式

Android中的Activity有四种启动模式:1、standard,2、singleTop,3、singleTask,4、singleInstance

设置启动模式的位置是在AndroidManifest.xml文件中activity元素的android:launchMode属性。例如:

<activity android:name=".Activity01" 
 android:launchMode="singleTask">
</activity>
下面来说一下四种模式的用途和区别:
一、standard模式,也就是默认模式,不需要配置launchMode。每次点击跳转键时,就会产生新的实例。点击Android设备的回退键,可以看到是按照刚才创建Activity实例的倒序依次出现的,类似退栈操作,刚才操作跳转按钮的过程是压栈操作。
二、singleTop模式,
singleTop 和standard模式,都会将intent发送新的实例(后两种模式不发送到新的实例,如果已经有了的话)。不 过,singleTop要求如果创建intent的时候栈顶已经有要创建的Activity的实例,则将intent发送给该实例,而不发送给新的实例。 还是用刚才的示例,只需将Activity的launchMode改为singleTop,就能看到区别。 运行的时候会发现,按多少遍按钮,都是相同的Activity实例,因为该实例在栈顶,因此不会创建新的实例。 singleTop 模式,可用来解决栈顶多个重复相同的Activity的问题。如果栈顶不是当时需要的Activity,此时就和standard的效果相同了。
三、singleTask模式
singleTask模式和后面的singleInstance模式都是只创建一个实例的。当intent到来,需要创建singleTask模式的Activity的时候,系统会检查栈里面是否已经有该Activity的实例。如果有则直接将intent发送给它,此时原来在此Activity栈中上面的Activity将会被杀死。例如:main-->Activity1-->Activity2-->Activity1,main到Activity1,Activity1到Activity2时,其前面的Activity1会被杀死,Activity2再跳转回Activity1时,Activity2会被杀死,此时栈中只有两个活动:main和Activity1。在Activity1点返回直接退回到main,然后退出。
四、singleInstance模式
(未完待续)


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值