Activity 有四种启动模式

在AndroidManifest.xml中给Activity进行配置,配置代码:

android:launchModel=""

四种模式:standard、singleTop、singleTask、singleInstance

模式一

standard模式,没有在AndroidManifest.xml文件中配置,或是配置为android:launchModel="standard"

当启动一个Activity act的时候,不管Activity栈中是否已经有此act的实例,都会创建一个新的act的实例并置Activity栈的栈顶。

模式二

singleTop模式,在AndroidManifest.xml中配置为android:launchModel="singleTop"

当启动一个Activity act的时候,如果Activity栈的栈顶是act的实例,那么系统将不创建新的act实例,而是沿用栈顶的act实例,并且会执行act中的onNewIntent方法

如果Activity栈顶不是act的实例,则和standard模式处理方式一样。

模式三

singleTask模式,在AndroidManifest.xml中配置android:launchModel="singleTask"

当启动一个Activity act的时候,如果Activity栈中,不管是栈顶还是栈的其它位置,只要含有act的实例,系统则不会创建新的act实例,而是把act实例提置栈顶,act实例之上的其他Activity实例被移除栈即销毁它们。并且会执行act的onNewIntent方法。

如果Activity栈中不包含act实例,则和standard模式处理方式一样。

模式四

singleInstance模式,在AndroidManifest.xml中配置为android:launchModel="singleInstance"

当启动一个Activity act的时候,系统先查询所有其他的Activity栈中是否包含act实例,如果包含则不创建,直接使用现有的act实例,并且调用onNewIntent方法。如果不存在,则会创建一个act实例,并且把新创建的act实例置一个新的栈中,新栈理论上只会有act这一个Activity。


更多相关文章

  1. Android(安卓)Wifi模块分析(三)
  2. Android系统配置数据库注释(settings.db)
  3. android用户界面之按钮(Button)教程实例汇
  4. TabHost与RadioGroup结合完成的菜单【带效果图】5个Activity
  5. Android(安卓)Activity的启动
  6. Android(安卓)任务和回退堆栈---启动任务
  7. Android(安卓)UI开发第十七篇——Android(安卓)Fragment实例(Lis
  8. Android——Activity四种启动模式
  9. 修复Android(安卓)App在开机后入口类被启动两次的bug

随机推荐

  1. Android系统架构剖析
  2. 在IntelliJ IDEA搭建Android开发环境
  3. Android布局背景颜色设置
  4. android 触摸事件传递机制与笔记
  5. Android(安卓)ContentProvider 使用
  6. android中setNegativeButton和setNeutral
  7. Android(安卓)Studio 配置 Genymotion
  8. Android Instrumentation自动化测试框架
  9. Android(安卓)访问GPS获取位置信息
  10. googleMap----放大,缩小,东南西北,四种视图