1.默认启动模式standard:

android开发:Activity启动的四种模式、图文理解

在该模式下,启动的Activity会依照启动顺序被依次压入Task中。即使栈中已经存在该Activity也不管。

2.栈顶复用模式singleTop:

android开发:Activity启动的四种模式、图文理解

在该模式下,如果栈顶Activity是我们要新建的Activity(目标Activity),那么就不会重复创建新的Activity。

3.栈内复用模式singleTask:

android开发:Activity启动的四种模式、图文理解

在singleTask模式下,如果task栈内存在目标Activity实例,则不用创建新的实例,它会将栈内的对应Activity实例之上的所有Activity弹出栈,然后把该Activity置于栈顶的位置

4.全局唯一模式singleInstance:

android开发:Activity启动的四种模式、图文理解

在该模式下,假如Activity3是singleInstance,其他都是默认的,当启动Activity3的时候系统会判断该实例是否存在,存在则不创建,不存在则创建一个新的任务栈存放Activity3实例,并且焦点移动到该栈(图中红色的栈)。当我们再启动Activity4的时候会把Activity4压入原有的栈,焦点移动到原有的栈(图中蓝色的栈)。这时候回退的时候会先把拥有焦点的栈所有Activity依次退出后才会执行下一个栈。所以回退顺序是Activity4——Activity2——Activity1——Activity3

相关文章:

  • 2021-10-13
  • 2022-12-23
  • 2021-12-26
  • 2021-11-19
  • 2021-11-19
  • 2021-07-29
  • 2022-12-23
猜你喜欢
  • 2021-06-20
  • 2021-12-02
  • 2021-12-14
  • 2022-12-23
  • 2021-07-01
  • 2021-11-19
  • 2021-08-02
相关资源
相似解决方案