活动的四种启动模式
来源:互联网 发布:淘宝五个金冠 编辑:程序博客网 时间:2024/06/17 02:20
总共四种启动模式:
- standard
- singleTop
- singleTask
- singleInstance
修改活动的启动模式,通过xml活动中的”android:launchMode”修改,Android通过返回栈来管理活动。
<activity android:name=".MainActivity" android:launchMode="singleTask"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
standard
standard模式(默认模式),即每打开一个新的活动,该活动就会在返回栈中入栈,并处于栈顶位置,此模式下系统不会在乎返回栈中是否已经存在该活动,每次启动都会创建一个新的实例
比如说在MainActivity中打开自己两次,就会出现这种情况
返回的话需要返回两次才能关闭程序。
singleTop
singleTop模式:在启动活动时如果发现返回栈的栈顶已经是该活动,则认为可以直接使用,不在创建新实例。
此模式避免了上面一直创建同一个活动的情况,但是由于它只是检测栈顶的活动是否存在,所以如果两个或者更多活动循环启动的话,每次启动还是会新建一个实例
singleTask
singleTask可以很好的解决重复创建栈顶活动的问题。在启动一个活动时,判断返回栈中是否存在该活动的实例,如果存在该活动的实例,则将该实例之上的活动全部退出(destory),然后使该实例成为栈顶活动。如果不存在实例,则启动该活动。
例如从活动一种打开活动二,再从活动二中打开活动一。
singleInstance
singleInstance模式:给定义为该启动模式的singleInstance开启一个新的返回栈。。。
例如:活动一打开活动二,然后活动二打开活动三,给活动二定义为singleInstance模式。此时点后退的话会从活动三的界面退到活动一的界面,然后再点back回到活动二。因为活动一和活动三是放在同一个返回栈中的,当活动三界面点击back键,活动三出栈,活动一就成了栈顶显示在界面上。然后在活动一种点击back,活动一从默认返回栈中出栈,此时默认活动栈为空,于是就显示另一个返回栈的活动,即活动二。再次按下back键,所有返回栈为空,即退出程序
- 活动的四种启动模式
- 活动的四种启动模式
- 活动的四种启动模式
- Android 活动的四种启动模式
- 活动的四种启动模式
- 活动的四种启动模式
- 安卓中活动的四种启动模式
- Android活动的四种启动模式
- Android活动的四种启动模式
- Android活动的四种启动模式
- activity活动的四种启动模式
- Android中活动的四种启动模式
- 安卓开发:活动的四种启动模式
- 活动(activity)的四种启动模式
- 关于Android活动的四种启动模式
- 活动的四种启动模式(第一行代码总结)
- 活动的启动模式
- 活动的启动模式
- 多操作符的语义判断(如 int& *a和int* &a)
- 互联网+O2O 的商业模式
- 自己做灭火机器人(一)——硬件准备与车体搭建
- Tabhost嵌套以及Tab中多个Activity跳转的实现
- Android组件之间的通信
- 活动的四种启动模式
- HDU 1325 Is It A Tree?(并查集)
- Linux内核模块--笔记
- XMPP协议发送聊天消息,图片,文件
- LightOJ 1245 Harmonic Number (II)
- c语言指针
- nginx与PHP的flush(摘抄加总结)
- hdoj Dire Wolf 5115 (区间DP) 好题
- iOS讲解迷惑 -- CocoaPods使用步骤(已有Ruby环境):