Android Activity的LaunchMode有四种模式
2013-03-29 10:17
302 查看
记录知识点
Activity的LaunchMode有四种模式
1,standard 普通
2,SingleTop 单例
启动activity如果activity在栈顶不会创建新对象而是调用OnNewIntent()方法。
当该activity不在栈顶,则会创建新对象与standard没什么区别。
例如:
A为singleTop 栈内情况从下至上为A-B-C-D “D”又跳转“A”同时设置了FLAG_ACTIVITY_CLEAR_TOP,此时栈顶只有A,
这时会调用A中重写的OnNewIntent()方法。
3,SingleTask 不会创建相同实例
启动activity时如果该activity在栈里面已经存在,则不会创建新对象,而是clear掉改对象以上的栈空间。同时
会调用OnNewIntent().
4,SingleIntance
设置singleIntance原理:其实是创建了一个新的Task,Android 中的Task可以理解为栈,该Task里面只有一个activity
故此activity不受application的限制,可以多个应用共享。
例如:
调用顺序:(Task1)A-(Task1)B-(Task2)C-(Task1)B
C为singleIntance,以上栈图可定义为2个。C单独在一个Task(栈)内。
从后往前返回时
调用顺序: (Task1)B-(Task1)B-(Task1)A-(Task2)C
之所以2次显示Task1中的B是因为Task1为默认standard状态,该状态根据有顺序的加入栈中,不停创建新对象。
图下
(Task1) (Task2)
|B|
|B| |C| 退出总在最后
|A|
Activity的LaunchMode有四种模式
1,standard 普通
2,SingleTop 单例
启动activity如果activity在栈顶不会创建新对象而是调用OnNewIntent()方法。
当该activity不在栈顶,则会创建新对象与standard没什么区别。
例如:
A为singleTop 栈内情况从下至上为A-B-C-D “D”又跳转“A”同时设置了FLAG_ACTIVITY_CLEAR_TOP,此时栈顶只有A,
这时会调用A中重写的OnNewIntent()方法。
3,SingleTask 不会创建相同实例
启动activity时如果该activity在栈里面已经存在,则不会创建新对象,而是clear掉改对象以上的栈空间。同时
会调用OnNewIntent().
4,SingleIntance
设置singleIntance原理:其实是创建了一个新的Task,Android 中的Task可以理解为栈,该Task里面只有一个activity
故此activity不受application的限制,可以多个应用共享。
例如:
调用顺序:(Task1)A-(Task1)B-(Task2)C-(Task1)B
C为singleIntance,以上栈图可定义为2个。C单独在一个Task(栈)内。
从后往前返回时
调用顺序: (Task1)B-(Task1)B-(Task1)A-(Task2)C
之所以2次显示Task1中的B是因为Task1为默认standard状态,该状态根据有顺序的加入栈中,不停创建新对象。
图下
(Task1) (Task2)
|B|
|B| |C| 退出总在最后
|A|
相关文章推荐
- Android中的Activity四种启动模式(launchMode)
- Android中activity的四种启动模式launchMode
- Activity-android:launchMode的四种加载模式
- android:launchMode的四种加载模式,Activity的四种启动模式
- Android中的Activity四种启动模式(launchMode)
- Android Activity的四种启动模式launchMode的区别
- Android中的Activity四种启动模式(launchMode)
- Android中的Activity四种启动模式(launchMode)
- Android中的Activity四种启动模式(launchMode)
- Android Activity的launchMode四种启动模式备忘
- android的四种activity加载模式(launchMode)
- Android中的Activity四种启动模式(launchMode)
- [Android]对Activity四种加载模式( launchMode )的理解
- Android中的Activity四种启动模式(launchMode)(面试必问)
- Android中的Activity四种启动模式(launchMode)
- Android中的Activity四种启动模式(launchMode)
- Android中Activity四种启动模式(LaunchMode)和taskAffinity属性
- Android Activity的launchMode四种启动模式备忘
- Android中的Activity四种启动模式(launchMode)
- Android中的Activity四种启动模式(launchMode)