android中四种活动启动模式的区别

首先说一下启动模式在哪定义

在定义活动的时候加上android:launchMode="xxx"

四种启动模式分别是standard,singleTop,singleTask和singleInstance

1.standard

standard是活动的默认启动方式,没启动一个新的活动,他就会在返回栈中入栈,并处于栈顶,这种方式并不会考虑栈中是否已经存在相同的活动,它会直接创建一个新的活动实例

2.singleTop

这种方式会检查栈顶是否存在相同的活动实例,如果存在,那么他并不会创建新的活动实例,而是使用已存在栈顶的活动

3.singleTask

singleTask是singleTop的改进,singleTop只是检查栈顶是否存在相同活动,而singleTask是检查整个活动栈是否存在该活动,如果存在,就直接将在该活动上面的活动出栈,进而使用该活动,如果没有就创建一个

4.singleinstance

为什么要有这个模式,你可以想一想,如果有别的程序要用到该活动,想要共享这个活动,前面三种方式是实现不了的,因为每一个程序都会有自己的返回栈,同一个活动在不同的返回栈中入栈肯定创建了新的实例,而singleinstance模式会有有一个单独的返回栈,不管哪个程序来访问,都共用一个返回栈,也就解决了

总结起来就是按照上面的排序,第一个是最不推荐的,尽量使用第三个,如果活动是可以共享给别的程序的,就使用第四个

好啦,如果觉得我写的有什么错误,欢迎指正

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值