任务和回退栈
一个任务由多个已经启动的且相关联的activity构成;
一个任务对应一个回退栈;
同一个任务中的activity位于同一个回退栈中;
回退栈中的activity是按照被启动的先后顺序入栈的;
回退栈中的activity的顺序是不可以改变的;
activity实例不存在了,那么任务也就不存在了;
Activity的加载模式有四种:
standard:默认,每次使用Intent加载都会创建一个新的实例;
singleTop:一个Activity已经存在实例,且位于栈顶,并且加载模式是singleTop的,那么再次加载该Activity的实例时,就不再创建新的实例了,直接使用位于栈顶的,会去回调onNewIntent()方法;
一个Activity已经存在实例,并且加载模块是singleTop的,但是不位于栈顶,那么再次加载该Activity的实例时还会创建新的实例
singleTask:只有一个实例,允许关联的Activity和它位于同一任务中(位于同一任务肯定位于同一栈中),如果已经存在一个实例,那么再次加载时,会创建新的实例,直接使用已经创建的,会销毁栈中位于它之上的所有实例
singleInstance:只有一个实例,不允许其他的Activity和它位于同一任务中(自己单独在一个栈中),如果已经存在一个实例,那么再次加载时,不会创建新的实例,直接使用已经创建的