什么是Task
·在Android系统中,执行某个任务时可能存在多个与用户产生交互的
Activity,Task则是这些Activity的容器。
Task与Activity
·执行Task的多个Activity不一定归属于同一个应用程序
·例如:使用A应用程序的Activity输入邮件的内容,却使用B应用程序(某个邮件应用程序)的
Activity发送邮件。
·执行Task的多个Activity中,可能有同一个Activity的多个实例
·例如:通过MainActivity也可以激活自身,而且可以反复操作,则可能存在
多个MainActivity的实例
什么是Back Stack
·Task使用Back Stack保存,管理各个Activity
·Back Stack表示“回退栈(后退栈)”。
·每个Back Stack最顶端(栈顶)的Activity被置于前台,称之为Foreground Activity
即“前台Activity”。
·Back Stack有压栈(Push)和出栈(pop)的操作。且遵循“”先进后出,后进先出的原则。
Task 与Back Stack
·Task作为一个容器,使用Back Stack保存,管理各个Activity
·用户在使用Android设备时,可以启动多个Task。
·每个Task都是一个有聚合力的单元,它可以在用户启动一个新的Task或按下HOME键返回桌面时整体的被置于后台。
·无论Task置于前台或后台,其Back Stack都是完整的保存的,因此,用户在执行某个Task时,另外启动了新的Task,则原来Task被置于后台,但当原来Task重新置于前台时,它的Back Stack依然存在。