Android 开发学习进程0.23 activity启动模式

Android activity启动模式以及相关知识

启动模式

activity新手看似简单,但实际上却还有较为复杂的问题。activity的启动模式有四种 分别为 standard singleTop singleTask singleinstance

标准模式 standard

这个是最为常用的,默认的启动方式,可以在栈内重复创建activity

栈顶模式 singletop

如果创建activity时栈顶已经有activity的实例了,则不创建新的activity

栈中模式 singleTask

和栈顶模式类似,但是判断activity是否重建在栈中。

singleInstance

这是一种非常特殊的activity启动模式,会在不同于当前栈的新栈之中创建activity,新栈只会有目标activity,在点击回退键时,栈只会清除存在于本栈的activity
而对于其他栈,则是在本栈全部退出后,后台运行的stack会回到前台成为前台栈。

activity动态启动模式

activity动态启动模式优先级是高于上文的静态启动模式的,上文的启动模式是在manifest中设置,而动态启动模式则是在
intent的addflage方法中添加,一般包括有以下几种方式,这几种方式是可以多个添加的,多个添加效果也不同,一般设置SINGLE_TOP和CLEAR_TOP
的效果类似于singleTask。

  • NEW_TASK
  • SINGLE_TOP
  • CLEAR_TOP

activity的启动还可以分为显示启动和隐式启动

隐式启动需要在manifest设置action和categories两种属性,如果需要还可以设置data属性,这种启动方式一般用在启动其他的activity中,
例如拉起支付界面等,

原文地址:https://www.cnblogs.com/baimiyishu/p/13727531.html