我们首先先来了解一下什么是Activity的启动模式?它是用来干什么的?
首先我先说说什么是Activity,Activity是应用程序的的四大组件之一,它负责管理Android应用程序的用户界面。启动模式简单地说就是Activity启动时的策略,Android采用任务栈的方式来管理Activity的实例。
讲解启动模式之前,有必要先讲解一下“任务栈”的概念;
每个应用都有一个任务栈,是用来存放Activity的,功能类似于函数调用的栈,先后顺序代表了Activity的出现顺序。Android系统中的任务栈类似于一个容器,用于管理所有的Activity实例。在存放Activity时满足“先进后出”的原则。我们通过一个图例来说明任务栈中如何存放Activity。
启动模式有4种,分别为standard、singleTop、singleTask、singleInstance;
一.standard模式
默认启动模式,每次激活Activity时,都会创建一个Activity实例,并放入任务栈。
二.singleTop模式
singleTop模式与standard模式类似,不同的是,当启动Activity已经位于栈顶是。则直接使用当前的Activity,不需要建立新的实例,如果没有位于栈顶,则创建新的Activity位于栈顶。
三.singleTask模式
每次启动Activity时,系统首先会检查栈中是否存在该Activity实例,如果存在则直接使用,不存在则创建新的实例。
四.singleInstance模式
这种模式无论从哪个任务栈中启动Activity,只会创建一个新的栈来装载Activity实例。