Activity的启动模式
2016-05-23 12:43
211 查看
Standard 标准模式, 每次创建一个Activity都会创建一个新的实例
SingleTop 栈顶复用模式, 如果实例已经存在任务栈的栈顶, 那么此Activity不会被创建, 同时它的onNewInte会被回调
SingleTask 单任务栈模式, 如果不存在所需的任务栈, 则创建一个相应的任务栈, 然后创建所需的实例并入栈, 如果存在所需的任务栈, 则在该任务栈中查找是否存在相应的实例,如果存在相应的实例, 则移动该实例到栈顶, 否则创建相应的实例并入栈
SingleInstance 单实例模式, 加强版的singleTask , 具有此种特性的Activity只能单独存在于相应的任务栈中
TaskAffinity 指定任务栈的名字, 默认情况下, 为应用的包名
1.给Activity添加luancherMode设置启动模式
2.给Intent设置Flag的方式指定Activity的启动模式
第一中方法无法直接给Activty设置FLAG_ACTIVTY_CLEAR_TOP标识, 第二种无法设置SingleInstance 模式
FLAG_ACTIVITY_NEW_TASK : 指定Activity的启动模式为singleTask
FLAG_ACTIVITY_SINGLE_TOP : 指定Activity的启动模式为singleTop
FLAG_ACTIVITY_CLEAR_TOP : 在SingleTask的情况下, 如果实例已经存在, 那么onNewIntent, 如果Standard模式, 那么连同它之上的所有Activity都要出栈, 然后创建新的Activity并放入任务栈
FLAG_ACTIVTY_EXCLUDE_FROM_RECENTS : 具有这个标记的Activity不会出现在Activity的历史列表中
Intent的匹配规则
Action
一对一
Category
只要存在对应的分类, 默认添加android.intent.category.DEFAULT 这个category
Data
由两部分组成, mimeType和URI
URI的默认值为content或file
<scheme>://<host>:<port>/[<path>/[pathPrefix]|<pathPattern>]
SingleTop 栈顶复用模式, 如果实例已经存在任务栈的栈顶, 那么此Activity不会被创建, 同时它的onNewInte会被回调
SingleTask 单任务栈模式, 如果不存在所需的任务栈, 则创建一个相应的任务栈, 然后创建所需的实例并入栈, 如果存在所需的任务栈, 则在该任务栈中查找是否存在相应的实例,如果存在相应的实例, 则移动该实例到栈顶, 否则创建相应的实例并入栈
SingleInstance 单实例模式, 加强版的singleTask , 具有此种特性的Activity只能单独存在于相应的任务栈中
TaskAffinity 指定任务栈的名字, 默认情况下, 为应用的包名
1.给Activity添加luancherMode设置启动模式
2.给Intent设置Flag的方式指定Activity的启动模式
第一中方法无法直接给Activty设置FLAG_ACTIVTY_CLEAR_TOP标识, 第二种无法设置SingleInstance 模式
FLAG_ACTIVITY_NEW_TASK : 指定Activity的启动模式为singleTask
FLAG_ACTIVITY_SINGLE_TOP : 指定Activity的启动模式为singleTop
FLAG_ACTIVITY_CLEAR_TOP : 在SingleTask的情况下, 如果实例已经存在, 那么onNewIntent, 如果Standard模式, 那么连同它之上的所有Activity都要出栈, 然后创建新的Activity并放入任务栈
FLAG_ACTIVTY_EXCLUDE_FROM_RECENTS : 具有这个标记的Activity不会出现在Activity的历史列表中
Intent的匹配规则
Action
一对一
Category
只要存在对应的分类, 默认添加android.intent.category.DEFAULT 这个category
Data
由两部分组成, mimeType和URI
URI的默认值为content或file
<scheme>://<host>:<port>/[<path>/[pathPrefix]|<pathPattern>]
相关文章推荐
- jQuery事件与动画
- android webview数据交互
- 关于在android中,如何一步到位,全局替换控件样式的一些看法
- linux系统644、755、777权限详解
- 一线触摸tslib移植完全说明--转载
- 学习排序算法2--插入排序
- [SCU 4508] 雷神之路 (多矩阵快速幂)
- 【leetcode】16. 3Sum Closest
- 上海普通住房标准
- PAT (Advanced Level) 1036. Boys vs Girls (25)
- Ext JS4 架构你的应用 第3节 (官方文档翻译)
- ScrollView,ListView等带滚动条控件嵌套解决方案汇总
- Eclipse更换应用包名
- Activity的生命周期
- [POJ 2096] Collecting Bugs
- c#反射相关
- IOS 访问java提供的webservice接口,心魔之使
- Linux 3.9.10内核编译错误:multiple (or no) load addresses: This is incompatible with uImages的解决
- Database: Faces & Sketchs 人脸识别数据集
- Java的SPI(Service Provider Interface)规范