首页 > 代码库 > Android技术7:Activity的启动模式

Android技术7:Activity的启动模式

1.Activity启动模式

在Android系统中,Activity的四种启动模式

  • standard(默认)
  • singleTop
  • singleTask
  • singleInstance

该四种启动模式在AndroidManifest.xml中配置每一activity中参数设置android:launchMode

2.模式特征

     standard:该模式下,每次通过通过Intent启动时,都会生成一个新的实例。android:launchMode 没有配置下,默认为standard。

     singleTop:该模式与standard类似,区别是如果当前Activity位于栈顶时,intent启动该Activity时则不会生成新的实例,重用原来实例。但是如果该Activity当前不位于栈顶的话,就重新生成一个新的实例。如果显示地指定intent的参数FLAG_ACTIVITY_NEW_TASK,会启动到别的任务重去。

     singleTask:该模式下,Activity只会有一个实例。如果某一个任务中已经有该Activity的一个实例存在,则不再启动新的,每次都会被重新使用,重用就是如果该Activity在Task的栈底,会被调到栈顶。

     singleInstance:该模式和singleTask一样,唯一区别是,该模式下,Activity会独立拥有一个task,不会和其他Activity公用,每次Activity都被重用,且全局只能有一个实例。

3.例子演示