什么是Task?
Activity在堆栈中以Task的形式聚集在一起
1.)Task由一系列相关的Activity组成,描述用户完成某一个操作所需要的Activity
2.)当我们从Launcher上点击一个应用图标的时候,就启动一个Task
3.)Task是用Android多任务的一种体现
Activity堆栈由ActivityManagerService维护
Android采用Task来管理多个Activity。
图1.Task
Android采用Task来管理多个Activity。如上图,
当我们启动App的时候,Android就会为我们创建一个Task,并且第一个加入的就是我们在Androidmanfiest.xml文件中配置MAIN和LAUNCHER的Activity 1,Activity 1跳转到Activity 2,
Activity 2跳转到Activity 3,Activity 2、Activity 3依次加入栈中,按返回键回退后后,
Activity 3移除出栈。基本的流程就是这样的。
并且我们无法真正的访问Task,只能通过getTaskId()方法获取Task的ID。
Activity有4种加载模式
我们只需在Androidmanfiest.xml文件中给Activity配置android:LaunchMode=""属性。
一、standard模式
通过这种模式启动的activity,都会创建一个新的Activity,即使一个该Activity类实例在栈顶,它还是会创建一个新的Activity压入栈中。
二、singleTop模式
三、singleTask模式
四、singleInstance模式