首页 > 学院 > 开发设计 > 正文

Activity四种启动模式

2019-11-09 14:39:17
字体:
来源:转载
供稿:网友

 Android的Activity有四种启动模式(Launch Mode):standard、singleTop、singleTask和singleInstance。

standard模式:标准的Activity启动模式,也是默认的启动模式,如果一个activity已经存在task栈中,跳转到该activity时,会再次创建一个新的实例压入task栈中。例如栈中有a b c d,跳转到d时,会新建一个d,此时task顺序为a b c d d,如果再跳转到b,那么此时顺序为a b c d d b。

singleTop模式:栈顶模式,如果一个activity位于栈顶时,跳转到该activity时,将不会创建新的实例。例如a b c d ,此时d位于栈顶,跳转到d时,task栈中还是a b c d,而如果跳转到b,不位于栈顶,则会再次创建b,顺序为 a b c d b。

singleTask模式:单任务模式,任务栈中只会有一个该activity实例。例如a b c d,如果从d跳转到b,那么栈顺序为a b,

此时发生弹栈,c,d被弹出栈销毁,b位于栈顶,b之上的activity都会被销毁。

singleInstance:相当于新建一个任务栈。例如,栈1有a b c d ,如果从d跳转到e,那么e位于新建的栈2中,此时栈1:a b c d,栈2:e ,  再从e跳到e,栈2不会新建实例,依然只有一个e,如果从e跳转到d,那么栈1的栈序为a b c d d ,因为d的模式为standard。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表