Activity四种启动模式
Activity有四种启动模式 1、standard 2、singleTop 3、singleTask 4、singleInstance
standard标准模式
1、standard是Activity默认的启动模式,在不指定Activity启动模式的情况下,所有Activity使用的都是standard模式在standard模式下,每当启动一个新的Activity,他就会进入任务栈,并处于栈顶的位置,
2、对于使用standard模式的Activity每次启动都会创建一个新的实例
3、适用于绝大数的应用场景
singleTop模式
singleTop启动模式与standard类似,不同的是,当启动的Activity已经位于栈顶时,则直接使用它,不在创建新的实例解决一个用户体验的问题,避免已经打开的页面被重复多次。
singleTask模式
1、当Activity的启动模式为singleTask时,每次启动Activity时,系统会首先会检查栈中是否存在该Activity的实例,如果发现已经存在则直接使用该实例,并将当前Activity之上的所有Activity出栈,如果没有发现则创建一个新的实例。
2、资源开销(内存占用、cup占用)非常大的使用该模式,比如浏览器打开一个网页(HTML解析器、渲染器、诚实守信解析器Javascript执行引擎)都是由BrowseActivity处理的,为了保证打开每个网页都是由同一个BrowseActiviey处理的,也就是在整个应用中只允许一个实例存在。
singleInstance模式
singleInstance模式加载Activity时,只会创建一个Activity实例,并且会使用一个全新的任务栈来装载该Activity实例。特点是在整个手机操作系统里只有一个实例存在。
采用这种模式启动会分为一下两种情况
第一种:如果要启动的Activity不存在,系统会先创建一个新的任务栈,在创建该Activity的实例,并把Activity加入栈顶,如图所示
第二种如果启动的Activity已经存在,无论位于那个应用程序或者那个任务栈中,系统都会把该Activity所在的任务栈转到前台,从而使该Activity显示出来
var code = “57815f92-cb83-43b9-9507-626e7b58d3d3”
原文链接:https://blog.csdn.net/lw_android1/article/details/65625847
相关文章
- 强烈推荐!气象卫星、雷达和数值模式可视化网站合集
- java单例模式——详解JAVA单例模式及8种实现方式
- Edgex foundry(Ireland-2.0版本)- Security 模式启动过程分析security-bootstrapper[通俗易懂]
- Activity启动模式SingleTask和Intent.FLAG_ACTIVITY_CLEAR_TOP区别
- 观察者模式
- linux必须运行在enforcing,Linux(入门基础):97—SELinux三种模式的启动、关闭、查看(getenforce、setenforce、sestatus、restorecon)…
- 企业调度监控平台TASKCTL流程启动三种模式的不同区别
- 敏捷开发模式下如何快速提升产品质量
- idea使用debug模式启动非常慢
- 图解设计模式:动动手玩转适配器模式
- 在SPA模式网页版本检测方案
- 模式开启MacOS深色模式,让你的界面充满魔力(macos深色)
- 如何快速退出Linux单用户模式(linux单用户模式退出)
- 模式从Linux的分支模式中获取快乐与成功(linux的分支)
- 解锁Linux的启动模式(linux启动模式)
- Linux:不同启动模式选择(linux系统启动模式)
- 如何在救援(单用户模式)/紧急模式下启动 Ubuntu 18.04/Debian 9 服务器
- 以单用户模式启动 CentOS/RHEL 7/8 的三种方法
- Oracle数据库启动模式的简单指导.(oracle启动模式)
- 如何在 MySQL 中启动安全模式?(mysql安全模式启动)
- MySQL安全模式启动:提高安全性的必要措施(mysql安全模式启动)
- 模式Oracle启动进入无监听模式的实践(oracle无监听)
- MySQL中的Prompt命令一键启动快速输入模式(mysql中prompt)
- 深入理解Oracle的几种启动模式(oracle几种启动模式)
- 启动Redis哨兵模式,实现高可用(启动redis哨兵模式)
- 启动Oracle限制启动模式下提高效率(oracle以受限模式)
- Redis集群自动启动模式下的新生态(redis 集群自启动)
- Oracle Exp 压缩模式安全有效高效(oracle exp压缩)
- 利用Redis订阅分发知识实现快速传播(redis订阅分发模式)
- JavaScript中发布/订阅模式的简单实例