Android activity 启动模式应用场景

 

1 standard 标准模式,每次都生成一个新的activity,标准启动模式,也是默认启动模式,如果不设置android:launchMode属性的话。standard模式下的Activity会依照启动的顺序压入BackStack中。


2 singleTop  task内栈顶单列模式

单顶模式,这种Activity启动模式,启动一个Activity的时候如果发现BackStack的栈顶已经存在这个Activity了,就不会去重新创建新的Activity,而是复用这个栈顶已经存在的Activity,避免同一个Activity被重复开启。

一般适用于可以复用而又有多个开启渠道的Activity,避免当一个Activity已经开启并获得焦点后,再次重复开启。

3 singleTask task内栈内单列模式

 开启一个Activity的时候,检查BackStack里面是否有这个Activity的实例存在,如果存在的话,情况BackStack里这个Activity上所有的其他Activity。

  适用场景为一般程序的主页面,当回退到主页面的时候,清除BackStack中,它之上的所有Activity,这样避免程序导航逻辑的混乱。比如Android系统的浏览器的主页面,

4 singleInstance 全局单列模式

被标记为singleInstance启动模式的Activity,在启动的时候,会开启一个新的BackStack,这个BackStack里只有一个Activity的实例存在,并且把这个BackStack获得焦点。这是一种很极端的模式,它会导致整个设备的操作系统里,只会存在一个这个Activity示例,无论是从何处被启动的。

  一般适用于需要在系统中只存在一个实例的场景,比如Android系统的来电页面,多次来电均使用的是一个Activity。

你可能感兴趣的:(Android activity 启动模式应用场景)