任务和回退栈

一个任务由多个已经启动的且相关联的activity构成;

一个任务对应一个回退栈;

同一个任务中的activity位于同一个回退栈中;

回退栈中的activity是按照被启动的先后顺序入栈的;

回退栈中的activity的顺序是不可以改变的;

activity实例不存在了,那么任务也就不存在了;

Activity的加载模式有四种:

standard:默认,每次使用Intent加载都会创建一个新的实例;

singleTop:一个Activity已经存在实例,且位于栈顶,并且加载模式是singleTop的,那么再次加载该Activity的实例时,就不再创建新的实例了,直接使用位于栈顶的,会去回调onNewIntent()方法;

一个Activity已经存在实例,并且加载模块是singleTop的,但是不位于栈顶,那么再次加载该Activity的实例时还会创建新的实例

singleTask:只有一个实例,允许关联的Activity和它位于同一任务中(位于同一任务肯定位于同一栈中),如果已经存在一个实例,那么再次加载时,会创建新的实例,直接使用已经创建的,会销毁栈中位于它之上的所有实例

singleInstance:只有一个实例,不允许其他的Activity和它位于同一任务中(自己单独在一个栈中),如果已经存在一个实例,那么再次加载时,不会创建新的实例,直接使用已经创建的

posted @ 2015-11-18 17:47  wmkill  阅读(211)  评论(0编辑  收藏  举报