Activity的四种启动模式

来源:互联网 发布:大学生常用电脑软件 编辑:程序博客网 时间:2024/06/11 17:25

配置Activity是可指定Android:lanchMode属性,该属性可以指定 Activity的启动模式,

这个属性有四个属性值:①standard模式:标准模式②singleTop模式③singleTask模式④singleInstance模式

①standard模式:标准模式,默认情况下Activity的启动模式就是standard模式,在这种模式下每次启动一个Activity时Android就会给这个Activity创建一个新的实例,并将Activity添加到栈里,当用户点击返回时系统会从栈顶一个一个删除Activity实例,他们的TaskID总是相同的,这说明这些实例都在一个栈里。

②singleTop模式:与standard模式类似,不同的是,如果要启动的Activity已经位于栈顶的时候,系统就能不会创建新的Activity实例,如果要启动的Activity不位于栈顶,系统就会给这个Activity创建一个新的实例,并且把它放在栈顶

③singleTask模式:A.如果要启动的Activity不存在,系统会创建一个Activity实例,并将它加入栈顶。B.如果要启动的Activity已经位于栈顶,直接复用已有的Activity。C.如果要启动的Activity存在但不位于栈顶,系统会把位于该Activity之上的所有的Activity出栈,使要启动的Activity位于栈顶,并复用它。Activity在栈中只存在一个实例

④singleInstance模式:在这种启动模式下,系统保证无论从哪个栈中启动目标Activity只会创建一个目标Activity实例。A.要启动的Activity不存在,创建一个新的栈再创建目标Activity的实例,并将它加入新创建的栈的栈顶。singleInstance模式加载的Activity所在的栈将只包含这一个Activity。

原创粉丝点击