我们在配置Activity时可指定android:launchMode属性,该属性用于配置该Activity的加载模式,其属性值有:
1.standard 标准模式(默认加载模式)
2.singleTop Task
3.singleTask Task
4.singleInstance
standard模式:每次通过这种模式启动目标Activity时,Android总会为目标Activity创建一个新的实例,并将该实例Activity添加到当前Task栈中-这种模式不会启动新的Task,新Activity将被添加到原有的Task中。
singleTop Task模式:与standard模式基本相似,但有一点不同,当将要被启动的目标Activity已经位于Task栈顶时,系统不会重新创建目标Activity实例,而是直接复用已有的Activity实例。
single Task Task模式:如果将要启动的目标不存在,系统将会创建目标Activity的实例,并将它加入Task栈顶。如果将要启动的目标Activity已经位于Task栈顶,此时与singleTop模式行为相同。如果将要启动的目标Activity已经存在,但没有位于Task栈顶,系统将会把位于该Activity上面的所有Activity移出Task栈顶,从而使的目标Activity转入栈顶。
singleInstance模式:创建第一个Activity时会开启一个Task栈,如果要创建的Activity不存在,系统会先创建一个全新的Task,再创建目标Activity实例,并将它加入新的Task栈顶。如果将要启动的目标Activity已经存在,无论它位于那个应用程序中,无论它位于哪个Task中,系统将会把Activity所在的Task转到前台,从而使用该Activity显示出来.