博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于安卓中4种启动模式
阅读量:7002 次
发布时间:2019-06-27

本文共 854 字,大约阅读时间需要 2 分钟。

转自:http://blog.sina.com.cn/s/blog_6fd0fd4b01019fj0.html

 

1、standard :
系统的默认模式,一次跳转即会生成一个新的实例。假设有一个activity命名为A1,执行语句:
 startActivity(new Intent(A1.this, A1.class));
后A1将跳转到另外一个A1,也就是现在的栈里面有 A1的两个实例。按返回键后你会发现仍然是在A1(第一个)里面。
 
2、singleTop:
singleTop 跟standard 模式比较类似。唯一的区别就是,当跳转的对象是位于栈顶的activity(应该可以理解为用户眼前所 看到的activity)时,程序将不会生成一个新的activity实例,而是直接跳到现存于栈顶的那个activity实例。拿上面的例子来说,当A1 为 singleTop 模式时,执行跳转后栈里面依旧只有一个实例,如果现在按返回键程序将直接退出。
 
3、singleTask: 
singleTask模式和后面的singleInstance模式都是只创建一个实例的。在这种模式下,无论跳转的对象是不是位于栈顶的activity,程序都不会生成一个新的实例(当然前提是栈里面已经有这个实例)。这种模式相当有用,在以后的多activity开发中, 经常会因为跳转的关系导致同个页面生成多个实例,这个在用户体验上始终有点不好,而如果你将对应的activity声明为 singleTask 模式,这种问题将不复存在。
 
4、singleInstance: 
设置为 singleInstance 模式的 activity 将独占一个task(task可以理解为进程),独占一个task的activity与其说是activity,倒不如说是一个应用,这个应用与其他activity是独立的,它有自己的上下文activity。

转载于:https://www.cnblogs.com/dirt2/p/5502487.html

你可能感兴趣的文章
css3学习一
查看>>
43. Multiply Strings
查看>>
关于页面分页
查看>>
【算法】5 传说中的快排是怎样的
查看>>
All You Can Code 2008 (Romanian Contest) A - Tree Search
查看>>
[BZOJ 1834][ZJOI2010]network 网络扩容(费用流)
查看>>
2015 Multi-University Training Contest 2
查看>>
深入理解Java:注解(Annotation)自定义注解入门
查看>>
用pc客户端写blog
查看>>
【1】EIGEN-Matrix类
查看>>
iOS开发-大文件下载与断点下载思路
查看>>
javascript RegExp 对象
查看>>
vi(vim)编辑器
查看>>
nginx 反向代理 apache 服务
查看>>
你将能在应用中找到以下功能及实现方法
查看>>
二进制总结(算法竞赛进阶指南)
查看>>
紫书 习题 10-19 UVa 10868 (物理动能定理)
查看>>
Linux系统CentOS6.2版本下安装JDK7详细过程
查看>>
PAT 1123. Is It a Complete AVL Tree (30)
查看>>
HDU 5883 The Best Path
查看>>