Android之活动启动模式

四种启动模式
1、standard
2、singleTop
3、singleTask
4、singleInstance

一、standard
默认模式,每启动一个新的活动,就在返回栈中入栈,并处于栈顶位置。系统不会在乎这个活动是否已经在返回栈中,每次启动都会创建该活动的一个新的实例
不足:如返回栈的栈顶现为FirstActivity。这时启动活动FirstActivity,则FirstActivity再次入栈。此时,返回栈存在2个FirstActivity实例,需要连续按两次Back键才能推出程序

二、singleTop
在standard基础上的改进:在启动活动时,如果发现返回栈的栈顶已经是该活动,则认为可以直接使用它,不会再创建新的活动实例
不足:如返回栈中存在FirstActivity、SecondActivity,FirstActivity处在栈顶位置。这时启动活动SecondActivity,虽已存在在返回栈中,但因不处在栈顶位置,故仍需要创建一个新的活动实例

三、singleTask
在singleTop基础上的改进:可以很好的解决重复创建栈顶位置活动的问题。每次启动活动时,系统首先会在返回栈中检查是否存在该活动的实例,如果发现已经存在则直接使用该实例,并把在这个活动之上的所有活动统统出栈,如果没有发现就会创建一个新的活动实例

四、singleInstance
最特殊也是最复杂的一个。启动一个新的返回栈来整理这个活动。

发布了34 篇原创文章 · 获赞 5 · 访问量 7485

猜你喜欢

转载自blog.csdn.net/qq_39438055/article/details/104117599
今日推荐