关于Activity活动的启动模式

启动模式有四种:standard、singleTop、singleTask、singleInstance,可以在AndroidManifest.xml中通过给标签android:launchMode属性来选择启动模式


1、standard模式

是活动默认的启动模式,在不进行显示指示的情况下,所有活动都会自动使用这种启动模式。

特点:每启动一次活动,不管有没有已经存在的实例,都会重新创建一个新的活动实例存放在栈中。当点击back时候,会依次出栈。


2、singleTop模式

是当启动一个活动时,如果发现这个活动已经存在于返回栈的栈顶(注意:是栈顶)时,则直接调用这个活动,不会再创建新的活动实例。

注:如果启动的活动并未处于栈顶的位置时,则还是会创建出新的实例。


3、singleTask模式

singleTask是singleTop的改进篇。当活动的启动模式指定为singleTask,每次启动该活动的时候,系统会在返回栈中检查是否存在该活动的实例(注意:不仅限于栈顶了,而是整个栈中),如果发现已经存在则直接使用该实例,并把这个活动之上的所有活动统统出栈,如果没有发现就会创建一个新的活动实例。


4、singleInstance模式

singleInstance模式下 会有一个单独的返回栈来管理这个活动,其他未设置为singleInstance的活动则默认为standard模式,存放在栈中。

这样其他程序和我们的程序可以共享这个活动的实例。



你可能感兴趣的:(yb)