Android Task概念以及相关

来源:互联网 发布:低头族数据 编辑:程序博客网 时间:2024/06/03 20:07

http://allenshao.iteye.com/blog/620420

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

原创粉丝点击