`
quanminchaoren
  • 浏览: 913749 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Android Task

阅读更多

Android Task:

Android的Task是一个Activity栈,用来完成用户的某一个目的,而不管这个Acitivity是属于哪个AP的。Task中的Activity可以分属于不同的AP。

在Task中,有一个Acitivity叫root activity,它是用来启动一个Task。

Tasks在系统中做交互的时候,这个Task所包含的所有Activities会被作为一个整体移动。比方说:Task A被设置成foreground/background task的时候,整个task(activity stack)都会随之移动。

(再补充一点就是说:一个Activity栈也可能是由一个或多个Task组成。)

Task中还有一个重要的属性就是用户可以中断目前正在做的事情,而去跑另外一个Task。基于这样一个特性,用户就可以同时跑不同的task,而且可以在它们之间切换。
有三个方法中断Task:1.Notification;2.用户操作,比如按Home或者开启另外一个程序;3.Activity中自己定义的New Task,比如说Map或者Browser,在Email中选择address会Launch Google Map,选择Link会Launch Browser,等等。

Applications:

一个Android Application由一个或者多个Acitivity组成,这其中或许还包括一个或多个Service,它会被打包成.apk文件。

补充:Launch Activity的四种模式:standard(default),singleTop,singleTask,singleInstance
standard或者singleTop activity可以被实例化多个,而singleTask或singleInstance只可以有一个实例。
   Activity B      Activity B
   Activity D      Activity B
   Activity C      Activity D          singleTop = single + top
   Activity B      Activity C
   Activity A      Activity A
  B是singleTop    B不是singleTop

分享到:
评论
1 楼 Atone2011 2011-11-04  
还是没看明白
有人说android中task = process
但是在一个资料中看到一个application有一个process,
另一个资料中application有几个task
很是迷茫

相关推荐

Global site tag (gtag.js) - Google Analytics