【Android】Activity的启动模式(android:launchMode)
来源:互联网 发布:正规的淘宝兼职网站 编辑:程序博客网 时间:2024/04/29 05:45
Android有4种启动模式,分别为 standard默认,singleTop,singleTask,singleInstance。
standard和singleTop可以被实例化多次,并且存在于不同的task中,且一个task可以包括一个activity的多个实例;
singleTask和singleInstance则限制只能生成一个实例。singleTop要求如果创建intent的时候栈顶已经有要创建的Activity的实例,则将intent发送给该实例,而不发送给新的实例。
singleInstance独占一个task,其他activity不能存在那个task里;如果它启动了一个新的activity,不管新的activity的launchmode如何,新的activity都将会到别的task里运行,而另外三种模式,则可以和其他activity共存。
standard对于每一个启动intent都会生成一个activity的新实例;
singleTop的activity如果在task栈顶的话,则不生成新的该activity的实例,直接使用栈顶的实例,否则,生成实例
singleInstance是所在栈的唯一activity,每次都会被重用
singleTask如果在栈顶,则接受intent,否则,该intent会被丢弃,但该task仍会回到前台
standard每次都会新建,每个task都可以有,且没个task都可以有多个实例
singleTop当前实例如果在栈顶,就不新建,如果不在栈顶,则新建,每个task都可以有
singleTask 新建一个task,如果已经有其他的task并且包含该实例,则直接调用那个task的实例,只有一个task中会有
singleInstance 新建一个task,且在该task中只有它唯一的的一个实例,只有一个task会有,且该task中只有它
问题:假如在xml中强制设置几个activity的launchmode分别为standard,singleTop,singleTask,singleInstance且taskAffinity相同,那么他们启动后分别属于哪个task
答:taskAffinity仅仅是指acitvity期望进入的task,而不是activity真实进入的task
- Android Activity的启动模式(android:launchMode)
- 【Android】Activity的启动模式(android:launchMode)
- Activity的启动模式(android:launchMode)
- Activity的启动模式(android:launchMode)
- Activity的启动模式(android:launchMode)
- Activity的启动模式(android:launchMode) 总结
- Activity的启动模式(android:launchMode)
- Activity的启动模式(android:launchMode) 小结
- Activity的启动模式(android:launchMode)
- Android:Activity的启动模式(LaunchMode)
- Activity的启动模式(android:launchMode)
- Android Activity的启动模式(launchMode)
- 多重启动 Activity的启动模式(android:launchMode)
- 【Android基础】Activity的启动模式(android:launchMode)
- 【Android基础】Activity的启动模式(android:launchMode)
- 【Android基础】Activity的启动模式(android:launchMode)
- 【Android基础】Activity的启动模式(android:launchMode)
- 【Android基础】Activity的启动模式(android:launchMode)
- UVA 10453 Make Palindrome
- 原码补码反码及浮点数计算精度丢失的问题
- Ubuntu 12.04 操作系统如何提高笔记本电池的寿命和性能
- 关于执行mysqldump出现拒绝访问的解决
- RH442 - 通过cgroup来限制kvm虚拟机只使用host的某个cpu和内存大小
- 【Android】Activity的启动模式(android:launchMode)
- VC PreTranslateMessage详解
- CXF中jaxb-api.jar、jaxws-api.jar与jdk1.6不兼容问题:JAXB 2.0 API is being loaded from the bootstrap classload
- linux 下安装软件过程
- 从网络获取图片直接存为bitmap
- babyos (十二) —— 键盘中断
- PorterDuffXfermode的用法
- opensuse 12.2 的安装及备份
- v4l2的应用程序编写