Activity启动模式singleTask的理解
2016-04-27 20:17
211 查看
设置了
如果设置了
singleTask启动模式的Activity,它在启动的时候,系统会先查找有没有
taskAffinity属性值相同的task存在。如果存在这样的task,就会在这个task中启动;否则就会在新task中启动。因此如果我们想要设置了
singleTask启动模式的act在新的task中启动,就要为它设置一个独特的
taskAffinity属性值,因为默认一个app的所有act都有同一个
taskAffinity值,那就是应用包名。
如果设置了
singleTask启动模式的act是在已有task中启动的,系统会在此task中查看是否存在这个act的实例,如果没有的话,会简单创建并加进去,否则并不会创建此act的新实例,而是已有实例的
onNewIntent(Intent)方法会被调用(紧接着的是onResume方法),并且在此act之上的所有别的act都会出栈,走完整的销毁流程,即他们的
onDestroy()之类的方法会被调用,从而确保这个
singleTaskact的实例此时位于task的栈顶。
相关文章推荐
- 模拟点击a链接
- 教你如何迅速秒杀掉:99%的海量数据处理面试题
- 二分k均值 Python实现
- 函数对象与Lambda
- Scala中val和var的区别
- session的两个小案例
- 安卓分享功能的实现
- Android Launcher拖拽原理分析
- getView()方法不被调用
- VC中debug和release版本的区别
- c++ 带有初始化成员列表的类构造函数 定义与实现分离 方法
- java开发基本jar包
- 系统操作。。。
- Unity3D_NGUI_性能优化实践_CPU卡顿(五)
- 【排序算法】快速排序(java实现)
- 学习数据挖掘和机器学习第六天:认识机器学习
- Codeforces Beta Round #11 B. Jumping Jack 数学
- 个人工作总结09
- 真正了解&&和||
- Socket简单理解