Android Activity 的启动模式

Android开发过程中,我们应该为每个activity设定卡恰当的启动方式。android中,activity的启动模式主要分为四种;分别为:standard、singleTop、singleTask、singlelnstance。 
修改模式可以在manifests文件夹下的AndroidManif.xml中选用launchModel属性来修改模式。 
 
首先,我先来介绍第一种:

standard

该模式是activity默认的启动模式,在我们不指定启动模式的情况下,我们创建的activity使用的都是standard模式。这种模式的特点是,在每次启动activity是它都会在任务栈的栈顶创建一个新的实例。所以,在退出时,就会对应启动的次数依次出栈。

singleTop

该模式与standard的区别是,如果你启动的activity已经位于栈顶时,就直接使用它,不再重新创建新的实例。但是如果要启动的activity不是位于栈顶,那么还是要重新在栈顶创建新的实例。

singleTask

该模式下,在每次启动activity时,系统会自动检测栈中,是否存在该activity的实例,如果发现已经存在就直接使用该实例。并且将activity之上的所有activity出栈,如果没有发现该activity的实例,就新创建一个新的实例。

singlelnstance

该模式下只会创建一个activity实例,并且使用一个新的栈来装载该activity。打个比方,我们创建三个activity,第一个和第三有默认的standard模式,第二个使用singlelnstance模式。启动时,第一个和第三个activity在一个任务栈。第二个activity会用一个新的栈来装载它。

猜你喜欢

转载自blog.csdn.net/mengkun4227/article/details/70763454