Acitivity启动模式
来源:互联网 发布:淘宝联盟已结算但没钱 编辑:程序博客网 时间:2024/05/18 23:55
配置方式:在manifest里面相应的activity标签里面加上android:launchMode="<launchmode>".
1standard模式
1)当Activity 未启动时,startActivity增加FLAG_ACTIVITY_SINGLE_TOP标记,周期变换为onCreat----onStart---onResume,不包括onNewIntent
2)当Activity在栈顶时,startActivity增加FLAG_ACTIVITY_SINGLE_TOP标记,周期变换为 onPause----onNewIntent----onResume.
3)当Activity在栈顶时,startActivity未增加FLAG_ACTIVITY_SINGLE_TOP标记,周期变换为 onPause----onCreate(new)----onStart(new)---onResume(new)---onStop.
2.singleTop模式
1)当Activity未启动时,startActivity是否增加FLAG_ACTIVITY_SINGLE_TOP标记,周期变换都为onCreat---onStart---onResume,不包括onNewIntent
2)当Activity在栈顶时,startActivity是否增加FLAG_ACTIVITY_SINGLE_TOP标记,周期变换为 onPause----onNewIntent----onResume.
3)当Activity在栈顶,跳转到其他Activity再用startActivity切换回来时将生成新的Activity实例。
3.singleTask模式
1)当Activity未启动时,startActivity,周期变换都为onCreat---onStart---onResume,不包括onNewIntent
2)当Activity在栈顶时,startActivity,周期变换为 onPause----onNewIntent----onResume.
3)当Activity在栈顶,跳转到其他Activity再用startActivity切换回来时 生命周期为 onPause--onStop---onNewIntent---onStart---onResume。
4.singleInstance模式
1)当Activity未启动时,startActivity,周期变换都为onCreat---onStart---onResume,不包括onNewIntent,新创建task
2)当Activity在栈顶时,startActivity,周期变换为 onPause----onNewIntent----onResume.
3)当Activity在栈顶,跳转到其他Activity再用startActivity切换回来时 生命周期为 onPause--onStop---onNewIntent---onStart---onResume,还是同一个task
总结:
singleTop模式允许在跳转到该类型对象时,如果在栈顶,不用重新创建,回调onNewIntent,不在栈顶的话会重新创建
standard模式允许在一个栈里多次创建,但是在栈顶,并且被relaunch时附带了FLAG_ACTIVITY_SINGLE_TOP标记,则不会创建新对象,会回调onNewIntent.
上面两种在一个任务栈里可以创建多次,用startActivity启动时,如果intent携带了FLAG_ACTIVITY_NEW_TASK标记,但是activity的taskAffinity属性跟启动它的任务栈的
taskAffinity属性一致的话,不会创建到新的任务栈里面。
singleInstance模式独占一个task,已有的话不会重复创建,适用于多个task共享一个Activity,比如地图
singleTask模式允许activity在一个任务栈里顶多出现一个类型的对象,当跳转时,如果任务栈里已有则会将该activity上面的都清除掉
- Acitivity启动模式
- Android Acitivity启动模式
- Acitivity启动模式
- Acitivity启动模式
- Android活动Acitivity启动模式之standard
- Android活动Acitivity启动模式之singleTop
- Android活动Acitivity启动模式之singleTask
- Android活动Acitivity启动模式之singleInstance
- Android活动Acitivity启动模式之singleTop
- Android活动Acitivity启动模式之standard
- 关于Acitivity的启动模式和onNewIntent()
- Android活动Acitivity启动模式之standard
- Android活动Acitivity启动模式之singleTop
- Android活动Acitivity启动模式之singleTask
- Android活动Acitivity启动模式之singleInstance
- Android复习-Acitivity的启动模式
- 启动acitivity
- 4.1 启动Acitivity
- 时间管理专题_软件篇01
- python-下载固定百度图片地址
- Maven根据Profile读取不同配置环境配置文件
- Java基础
- 时间管理专题_软件篇02
- Acitivity启动模式
- git本地仓库文件路径发生变化
- 时间管理专题_软件篇03
- A+B的问题
- 了解ActiveMQ
- 自己运动的方块(JS)
- 2017年蓝桥杯湖北省B组 错题总结
- Python创建二维数组
- UVa 11292 Dragon of Loowater——思路题