前言
启动方式有四种:standard、singleTop、singleTask、singleInstance。
在AndroidManifest.xml中通过标签指定 android:launchMode属性选择启动模式。
一、standard
不显示指定时的默认启动方式。对于使用standard模式的活动,系统不会在乎这个活动是否已经在返回栈中存在,每次启动都会创建该活动的一个新的实际。
二、singleTop
在启动活动时如果发现返回栈的栈顶已经是该活动,则认为可以直接使用它,不会再创建新的活动实例。
但如果活动A不处于栈顶,启动活动A 时仍然会创建新的实例。
三、singleTask
每次启动活动时,系统首先会在返回栈中检查是否存在该活动的实例,如果已经存在则直接使用该实例,并把在这个活动之上的所有活动统统出栈。
四、singleInstance
会启动一个新的返回栈来管理这个活动。(同时如果singleTask模式指定了不同的taskAffinity,也会启动一个新的返回栈)