Android之Activity四种加载模式

本章主要对Android的Activity 四种加载模式lunchMode与Inteng Flag进行讲解和说明

activity一共有四种加载模式:standerd,singleTop,singleTask,singleInstance。下面就对这四种加载模式进行说明

standerd

系统默认的启动标准模式。
作用:每新打开一个activity,都会生成一个新的activity实例,并放于栈顶;
diagram_backstack

singleTop
  • 如果当前任务的顶部已存在 Activity 的一个实例,则系统会通过调用该实例的 onNewIntent() 方法向其传送 Intent,而不是创建 Activity 的新实例.
  • Activity 可以多次实例化,而每个实例均可属于不同的任务,并且一个任务可以拥有多个实例.
singleTask
  • 系统创建新任务并实例化位于新任务底部的 Activity. 但是,如果该 Activity 的一个实例已存在于一个单独的任务中,则系统会通过调用现有实例的 onNewIntent() 方法向其传送 Intent,而不是创建新实例.
  • 一次只能存在 Activity 的一个实例.
singleInstance
  • 与 “singleTask” 相同,只是系统不会将任何其他 Activity 启动到包含实例的任务中.
  • 该 Activity 始终是其任务唯一仅有的成员;由此 Activity 启动的任何 Activity 均在单独的任务中打开.