Activity的四种加载模式详解(standard singleTop singleTask singleInstance)
来源:互联网 发布:杜老师的c编程 编辑:程序博客网 时间:2024/06/05 11:22
activity的四种加载模式
在android的多activity开发中,activity之间的跳转可能需要有多种方式,有时是普通的生成一个新实例,有时希望跳转到原来某个activity实例,而不是生成大量的重复的activity。加载模式便是决定以哪种方式启动一个跳转到原来某个Activity实例。
在android里,有4种activity的启动模式,分别为: standard, singleTop, singleTask和singleInstance, 其中standard和singleTop类似, singleTask和singleInstance类似, 用法如下:
(1).standard和singleTop
这两种加载模式下, 同一个task中可以存在一个activity的多个实例, 并且可以位于activity栈的任意位置。
先举个例子:
假设目标task的activity栈为: A->B->C->D(栈底->栈顶)
在程序中调用startActivity(D)
如果D是standard模式, 则activity栈变为:
A->B->C->D->D, 也就是会重新创建一个D实例
如果D是singleTop模式, 则activity栈变为:
A->B->C->D, 不会创建D实例, 就是说如果D在目标task 的activity栈的栈顶, 则不会创建新的实例, 而是调用D的onNewIntent()方法, 反之如果D不在目标task 的activity栈的栈顶, 则会重新创建一个D实例
(2). singleTask和singleInstance
这两种加载模式下, 同一个task中只会存在一个activity的实例, 如果通过startActivity()启动,则调用onNewIntent()方法, 而不是创建一个新的实例。这两种模式下, activity实例均位于activity栈的栈底。
这两种加载模式的区别:
假设一个Activity的实例A 采用如下两种加载模式:
singleTask:
如果A调用startActivity(B)启动B实例, 则A和B位于同一个task中。
singleInstance:
如果A调用startActivity(B)启动B实例, 则系统会自动给intent添加一个属性FLAG_ACTIVITY_NEW_TASK, 将B实例放入到一个新的task中, 也就是说A实例所在的task中只能有A自己, 不能存在其他实例
- Activity的四种加载模式详解(standard singleTop singleTask singleInstance)
- Activity的四种加载模式详解(standard singleTop singleTask singleInstance)
- Activity启动的四种模式:Standard,SingleTop,SingleTask,SingleInstance
- android Activity中standard singleTop singleTask singleInstance四种加载模式的区别
- 区分Activity的四种加载模式 standard singleTop singleTask singleInstance
- 区分Activity的四种加载模式:standard、singleTop、singleTask、singleInstance
- Activity四种启动模式:standard、singleTop、singleTask、singleInstance
- Activity四种启动模式(standard,singleTop,singleTask,singleInstance)
- Activity四种启动模式详解1. standard 2. singleTop 3. singleTask 4. singleInstance
- Activity四种启动模式 图文详解:standard, singleTop, singleTask 以及 singleInstance
- android Activity的四种启动模式详讲 singleTop standard singleTask singleInstance
- Activity的四种创建模式(SingleTop、standard、SingleTask、SingleInstance)
- Activity的四种启动模式——standard、singleTop 、singleTask 、singleInstance
- Activity的四种启动模式(standard、singleTop、singleTask、singleInstance)
- Activity有四种加载模式:standard(默认), singleTop, singleTask和 singleInstance
- Activity有四种加载模式:standard(默认), singleTop, singleTask和 singleInstance
- Activity有四种加载模式:standard(默认), singleTop, singleTask和 singleInstance
- Activity有四种加载模式:standard(默认), singleTop, singleTask和 singleInstance
- Session 的 Time out 和有效设置 Session 时间限制
- 最大流 - Edmonds-Karp 增广路算法
- oracle10g 安装以及注意事项
- VMare-Tools的安装
- WINDOWS TCP最大连接数
- Activity的四种加载模式详解(standard singleTop singleTask singleInstance)
- jquery小动画图片box,详细注释
- 修改oracle数据库用户名及密码
- 三星超级本530u3c重装系统。。
- 不同vlan的机器能ping,不能共享访问
- 计算机将拥有人类五感 造福or危害?
- Grizzly和comet介绍(译)
- 查看他人bug解决方案整理-取iframe里报表单元格的值-from ember
- 文件内容的三种方法