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 

你可能感兴趣的:(Android)