在AndroidManifest.xml中可配置Activity的启动模式
<activity
android:name = "com.mainActivity"
android:launchMode= "singleInstance">
</activity>
Android系统中我们创建的activity都是以栈的形式呈现
每个应用都有独立的任务栈Task,一个栈可以有多个Activity
启动另一个应用的Activity,会把那个应用的栈也移动到前面<栈里面可能还有这个应用的其他的Activity>
launchMode可设置的属性有:
standard:每次调用startActivity()启动时都会创建一个新的Activity放在栈顶<默认的格式>
singleTop:启动activity时,指定Activity不在栈顶就创建,若在栈顶则不创建<不会出现两个Activiy相邻>
singleTask:如果启动的Activity不存在就创建,若存在,则直接跳到指定的Activity的位置<在其上面的Activity会被移出栈, 即,在一个栈中不会有重复的Actiity>
singleInstance:如果启动的Activity不存在就创建一个Activity,同时也创建一个栈,如果存在就将指定的Activity存在的栈 移动到栈顶<这个Activity只能存在于一个独立的任务栈中,同应用的其他activity与其无关>