Android Activity Launch Mode_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > Android Activity Launch Mode

Android Activity Launch Mode

 2010/12/15 8:01:00  TremendousTurtle  http://tremendousturtle.javaeye.com  我要评论(0)
  • 摘要:1.intent决定Activity所在的Task(Activity堆栈)对于"standard"和"singleTop"模式,是task在产生intent,除非intent里设置了FLAG_ACTIVITY_NEW_TASK标志,设置了此标志,这个activity将选择另外一个task。相对的singleTask和singleInstance模式标记activity作为一个task的根,他们永远不会选择另外一个task。2.一个activity可以不可以有多个实例
  • 标签:android Activity
1.intent 决定Activity所在的Task(Activity 堆栈) 对于"standard" 和 "singleTop" 模式, 是task在产生intent,除非intent里设置了FLAG_ACTIVITY_NEW_TASK 标志,设置了此标志,这个activity将选择另外一个task。 相对的 singleTask 和 singleInstance 模式标记activity作为一个task的根,他们永远不会选择另外一个task。 2.一个activity可以不可以有多个实例? “standard" or "singleTop" 模式的activity可以被实例化多次,而且可以属于多个task,一个task也可以包含一个activity类的多个实例。 3.一个activity的实例允不允许他所在的task包含其他activity类的实例? singleInstance 的activiy是它所在的task里头唯一的activity。其他activity的实例都将被分配到其他task不管intent 有没有 FLAG_ACTIVITY_NEW_TASK 标志。除了这一点,它和 singleTask是一样的。 4.是否一个新的实例会被启动来响应新的intent? standard Acticity会启动新实例响应每一个新的intent请求。在 singletop 模式下,如果这个activity在activity栈的最上边,他的实例会被复用,否则会产生新的实例。 永远不会有多余一个的实例当处于singleTask 和 singleInstance 模式。singleInstance所在的栈只有一个实例,所以它处在服务新的intent的位置上。 但是 singleTask 的task可能会有多个activity实例,而且singleTask 的activity不一定在最上边,遇到这种情况,intent会被丢掉,但是task依然会被激发而转到前台显示。
发表评论
用户名: 匿名