四种清单中 launchMode(启动模式)解释
来源:互联网 发布:xampp 更换php版本 编辑:程序博客网 时间:2024/05/16 07:55
其实 Android 是使用任务(Task)来管理活动的,一个任务就是一组存放在栈里的活动
的集合,这个栈也被称作返回栈(Back Stack) 。栈是一种后进先出的数据结构,在默认情况
下,每当我们启动了一个新的活动,它会在返回栈中入栈,并处于栈顶的位置。
1、android:launchMode=”standard”
标准启动模式。这种启动模式也是Activity默认的,一个栈中可以有多个相同的Activity。不会考虑是否栈中是否有相同的Activity。比如设置A为standard模式,那么可以运行A-B-A-A-A;
2、android:launchMode=”singleTop”
单一栈顶启动模式,栈顶只能存在一个相同的Activity。比如你栈顶是MainActivity.java,你想启动新的MainACtivity.java是无法实现的。但是栈中可以存在多个MainActivity.java。 比如设置A为singleTop模式,运行 A-B-A 这里栈中可以同时存在了两个A,但是不能在A之上再启动一个A。
3、android:launchMode=”singleTask”
单一栈启动模式,当使用这种启动模式的时候,栈中只能存在一个相同的Activity。比如设置A为singleTask模式,那么执行
A-B-C-D ,此时D在栈顶,你想启动一个A,此时会直接启动在栈底层的A,而不会去新建一个A。并且此时A已经成为了栈顶了,所以C和D都是被移出栈,也就是被销毁了。
4、android:launchMode=”singleInstance”
单例启动模式,这种启动模式比较复杂一点。表明这种启动方式的Activity被启动时候,会存在新的返回栈中。比如设置B为这种模式,
那么当A-B-C-D,(此时D在栈顶)此时原始的栈中就有A、C、D这三个Activity,而B在一个新的栈中。此时当你按back键,你会发现是这样子的,D-C-A-B,这是因为DCA在先创建的(也就是主栈)中,所以当主栈中的Activity全部都移除栈外后, 才会轮到次栈,这个次栈中只有一个B。把Activity独立于一个栈中,是为了别的程序访问此Activity,可以方便多个应用程序共享这个栈中的Activity。
- 四种清单中 launchMode(启动模式)解释
- 解释Activity的四种launchMode模式
- Activity的四种launchMode(启动模式)
- Activity的四种启动模式(LaunchMode)
- Activity的四种启动模式(LaunchMode)
- Activity的四种启动加载模式(launchMode)
- Activity四种启动模式(launchMode)
- Activity的四种启动模式(LaunchMode)
- android:launchMode--四种启动模式
- Activity的四种启动模式 LaunchMode
- android中的四种启动模式launchMode
- Activity的四种启动模式launchMode
- Activity 的四种启动模式(launchMode)
- launchMode(启动模式)
- Android中Activity四种启动模式(LaunchMode)和taskAffinity属性
- Android中的Activity四种启动模式(launchMode)
- Android中的Activity四种启动模式(launchMode)
- Android中的Activity四种启动模式(launchMode)
- 为jsoncpp添加Android版本Makefile
- const的作用
- 搭建IBM z/OS 1.9(ADCD 1.9)
- maven向本土仓库导入jar包 pinyin4j-2.5.0
- Android NDK学习之七、复杂结构动态库处理和第三方库的移植
- 四种清单中 launchMode(启动模式)解释
- 分类算法总结
- VBScript把文档修改为UTF-8格式
- C++笔试题
- java 使用sourceforge.pinyin4j查询汉字拼音
- HDU-5542-The Battle of Chibi【树状数组+dp】
- 二叉树基本算法
- JS初识之json, 闭包, parseInt, parseFloat
- 如何实现PCB走线开窗上锡