Android(安卓)launchMode
16lz
2021-01-26
Android Activity 有四种启动模式:“standard” (默认),“singleTop”,“singleTask”,“singleInstance”.
这四种到底有什么区别呢?
下面假设有两个Activity A & B来描述以下启动模式的区别,程序逻辑就是A可以点击Button跳转到B,B可以点击Button跳转到A.
“standard” (默认):
如果执行以上的操作,栈中就会有无数个A/B,即A->B->A->B->A->B。
“singleTop”:(单栈顶部单例)
如果该Activity在栈顶部,就不会创建新的Activity,如果不在顶部就会,比如还是执行standard的操作,其结果一样为:A->B->A->B->A->B。
但是如果是用A启动B,再启动B,就只是(A->B)而不是默认情况下的(A->B->B)
“singleTask”:(单栈单例)
不管跳转,一个栈中只会有一个实例,以上操作结果为(A->B or B->A)
“singleInstance”(多栈)
当创建这个Activity会单独开启一个栈,比如A为正常模式,B为singleInstance模式,执行A-》B-》A的操作最后栈的结果为(A->A B)
退栈的顺序为(B -> A -> A)
更多相关文章
- Android(安卓)Camera HAL3中预览preview模式下的控制流
- Android中的Service组件详解
- Android(安卓)5.1开机自启动示例程序(Activity,APP包启动)
- Android4.0.3修改启动动画和开机声音
- android activity启动过程分析
- android常用的电话操作
- android 1.5 SDK 模拟器无法启动问题 “Failed to find an AVD m
- Android系统移植与调试之------->如何修改Android启动动画和开机
- 玩转Android之Activity详细剖析