android 启动模式
来源:互联网 发布:游戏编程如何入门 编辑:程序博客网 时间:2024/06/05 10:33
启动模式是通过在AndroidManifest.xml中activity标签中的launchMode设置的
android:launchMode指示应该如何加载一个activity.总共有四种启动模式,他们一般配合activity启动标记(FLAG_ACTIVITY_*常量)一起使用来决定当加载一个actiity时,系统该如何处理这个Intent.这四个启动模式依次是:
"standard"
"singleTop"
"singleTask"
"singleInstance"
缺省的是"standard"
正如在下表中将会看到的一样,这些启动on个模式被划分成两个组,"standard" 和"singleTop"一组,"singleTask" 和"singleInstance"属于另外一个组。以"standard" 或"singleTop"方式启动的activity可以被实例化很多次,他们的实例也可以属于任何 task,可以放在栈中的任何位置,典型的,他们一般通过 startActivity() 来加载到task中(除非启动 Intent设置了FLAG_ACTIVITY_NEW_TASK标记,在这种情况下会选进入一个不同的task--查看taskAffinity属性)
"standard" 和"singleTop"在一个方面不一样,如果是以"standard"方式启动的activity,每次都会实例化一个新的activity实例,每个实例对应一个Intent,类似的,"singleTop" 启动的activity也可能创建一个新的实例来处理相应的Intent,但是,如果目标task栈顶的activity正是要启动的activity,这个时候不会像"standard" 模式一样重新创建一个该activity实例,二十调用该activity的onNewIntent()方法。在其他情况下,例如"singleTop" 模式的activity已经在目标task中,但不是在栈顶,或者已经在栈顶,但不是在目标task中,这个时候,会像"standard" 模式一样创建一个该activity的新实例。
"singleTask" 和"singleInstance"两者也略有区别,一个"singleTask" 模式的activity允许其他的activity加入到他的task中,他永远是该task的root activity,但其他activity可以加载到该task中,相反,一个"singleInstance"模式的activity独占一个task,不运行其他的task加入到里面,如果从中启动activity,这个activity被安排到一个不同的task中,就像使用了FLAG_ACTIVITY_NEW_TASK一样。
就像上表中展示的一样,"standard"是缺省的模式,对于大部分activity来说它都是合适的模式,“singleTop”也是一个非常普遍且有用的模式对大多数activity.另外两中模式:“singleTask”和"singleInstance"对于大多数应用程序来说使用不多。因为他们会导致的交互模式对用户来说不太熟悉,和其他的应用程序相比也很不同。
不管你选择那种模式,确保测试一下activity的正确性 当加载它的时候或者从其他activity或者返回按钮导航到它时。
- android Activity启动模式
- Android Activity启动模式
- android 启动模式
- Android 启动模式
- android中四种启动模式
- android ics 启动模式
- android启动模式
- android启动模式
- Android启动模式分析
- Android Activity启动模式
- android 启动模式(二)
- android 启动模式
- android activity 启动模式
- android 启动模式
- Android的启动模式
- android的启动模式
- Android - Activity - 启动模式
- android Activity启动模式
- 摄像机实现翻转
- 结构化查询语言 SQL
- JSON就是一个对象的数组
- 赶来
- SQL Server存储过程 对数组参数的循环处理
- android 启动模式
- Android Studio配置
- boundingBox getContentSize
- 用canvas实现图片滤镜效果
- HDLCompiler:413
- 20131030: 森林结构的运用(poj: 树的转换,电话号码,物质分解记录);带权并查集(食物链);C++输入;map的基本使用
- 随感
- mysql 连接url中useUnicode=true & characterEncoding=UTF-8 的作用
- jquery ajax php mysql 无刷新分页 demo