安卓Activity的启动与清除
来源:互联网 发布:电脑实时监控软件 编辑:程序博客网 时间:2024/05/20 02:52
1.launchmode
standard 默认。每次都会新建,每个Task都可以有,且每个Task都可以有多个实例(每个Task都可以有,且可以有多个)
singleTop当前实例如果在栈顶,就不新建实例,调用其OnNewIntent。 如不在栈顶,则新建实例 (每个Task都可以有,且可以有 多个,在栈顶时可复用)
singleTask新建一个Task,如果已经有其他的Task并且包含该实例,那就直接调用那个Task的实例。(只有一个Task中会有)
singleInstance新建一个Task,且在该Task中只有它的唯一一个实例。 (只有一个Task会有,且该Task中只有它)
singleTask新建一个Task,如果已经有其他的Task并且包含该实例,那就直接调用那个Task的实例。(只有一个Task中会有)
singleInstance新建一个Task,且在该Task中只有它的唯一一个实例。 (只有一个Task会有,且该Task中只有它)
2.flag
Intent.setFlags(...);
FLAG_ACTIVITY_NEW_TASK默认。相当于standard
FLAG_ACTIVITY_SINGLE_TOP相当于singleTop。
FLAG_ACTIVITY_CLEAR_TOP相当于singleTask。
FLAG_ACTIVITY_BROUGHT_TO_FRONT栈中有A,A以这个FLAG启动B,B启动C,C再启动B,栈中情况变为A,C,B。
FLAG_ACTIVITY_REORDER_TO_FRONT栈中有A,B,C,以这个FLAG启动B,栈中情况变为A,C,B。
FLAG_ACTIVITY_NO_USER_ACTION 当前activity退到后台时,据新启动的Activity的Intent里是否有此FLAG来确定是用户选择退出。
FLAG_ACTIVITY_NO_HISTORY 原来是A,B,C,这个时候在C中以这个FLAG启动D,D再启动E,栈中情况变为A,B,C,E。
3.清除
默认如果用户离开Task很长一段时间,系统会清除Task中的所有Activity,除根Activity外。
alwaysRetainTaskStateTask的根Activity的这个特性设置为“true”时,Task保留所有的Activity,即便是离 开很长时间。
alwaysRetainTaskStateTask的根Activity的这个特性设置为“true”时,Task保留所有的Activity,即便是离
clearTaskOnLaunch Task的根Activity的这个特性设置为“true”时,Task会清除所有Activity,包括根 Activity, 即便是短暂的离开。
finishOnTaskLaunch 这个特性和clearTaskOnLaunch相似,但它针对单个Activity,不是整个Task。
0 0
- 安卓Activity的启动与清除
- 安卓activity的启动模式
- 【安卓笔记】成长第二步,Activity的启动模式与IntentFilter的匹配规则
- 安卓Activity启动模式
- 安卓Activity启动模式
- 安卓Activity启动模式
- 安卓Activity启动的四种模式
- 安卓开发42:lauchMode Activity的启动模式
- 安卓开发中修改activity的启动顺序
- 安卓进阶-Activity的四种启动模式
- 安卓开发之Activity的4种启动模式
- 安卓activity启动模式的应用场景
- 整理了一些安卓的activity启动常量
- 安卓复习之旅—Activity的启动流程
- 安卓-启动Activity的两种方式
- 安卓复习之旅—Activity的启动流程
- 安卓Activity的四种启动模式
- 安卓activity与task
- SqlDataAdapter.TableMappings 的用法
- C语言中system和exec的本质区别
- read by other session等待事件
- 一元一次方程
- css中行内元素padding,margin,width,height说明
- 安卓Activity的启动与清除
- 安卓通过Intent传递自定义类
- 安卓体系结构
- MFC数据类型转换
- vs2010下配置qt开发环境
- ubuntu下安装qt5.1
- ubuntu下qt4.7.3交叉编译环境的搭…
- qt错误修改记录
- mplayer交叉编译