android 启动模式_安卓学习笔记之Android中Activity的4种启动模式
根据Activity在任务栈中的调用方式不同,Activity的启动模式分为4种,分别是Standard、SingleTop、SingleTask以及SingleInstance。可以在AndroidManifest.xml文件的android:launchMode属性中设置。
1、Standard模式:Standard模式是Android的默认启动模式。这种模式下,Activity每次启动,无论任务栈中是否已经有这个Activity的实例,系统都会创建一个新的Activity实例。
Standard模式图示
2、SingleTop模式:SingleTop模式和Standard模式非常相似,主要区别就是当一个SingleTop模式的Activity已经位于任务栈栈顶的时候,再去启动它时,则不会再创建新的实例,如果不位于栈顶,就会创建新的实例。
SingleTop模式图示
3、SingleTask模式: SingleTask模式的Activity在同一个Task内只有一个实例,如果Activity已经位于栈顶,系统不会创建新的Activity实例。当Activity已经存在但不位于栈顶时,系统就会把该Activity移到栈顶,并把它上面的Activity出栈。
SingleTask模式图示
4、SingleInstance模式:SingleInstance模式也是单例的,但和singleTask不同,SingleTask只是任务栈内单例,系统里是可以有多个SingleTask Activity实例的,而SingleInstance Activity在整个系统里只有一个实例,启动一各SingleInstance的Activity时,系统会创建一个新的任务栈,并且这个任务栈只有这一个Activity。
SingleInstance模式图示
android 启动模式_安卓学习笔记之Android中Activity的4种启动模式相关推荐
- Android学习笔记(十)——Activity的四种启动模式
Standard标准模式 每启动一个Activity就创建一个新的实例,不管这个activity之前是否启动过,都创建一个新的 singleTop栈顶复用模式 singleTask栈内复用模式 sin ...
- Android中Activity的四种启动方式
谈到Activity的启动方式必须要说的是数据结构中的栈.栈是一种只能从一端进入存储数据的线性表,它以先进后出的原则存储数据,先进入的数据压入栈底,后进入的数据在栈顶.需要读取数据的时候就需要从顶部开 ...
- android java与界面的关联_Android Studio安卓学习笔记(三)Android用户界面的设计布局与组件(一)用户界面布局设计(1)...
当我们创建了一个安卓项目后,我们会发现真正建立一个完善的安卓项目并不是想象的那么容易.其实和设计GUI可视化界面一样,开发安卓也需要考虑很多方面,主要考虑的还是界面布局和需要的组件. 一:Androi ...
- Android Studio安卓学习笔记(三)Android用户界面的设计布局与组件(一)用户界面布局设计(1)...
当我们创建了一个安卓项目后,我们会发现真正建立一个完善的安卓项目并不是想象的那么容易.其实和设计GUI可视化界面一样,开发安卓也需要考虑很多方面,主要考虑的还是界面布局和需要的组件. 一:Androi ...
- Android中Activity的四种启动模式
每次看到这种专有词汇都十分佩服创造者的智慧,创造者一定和我一样都中二,我已然确信. 我写博客的目的,就是希望不断磨练自己,让自己能够不将一件简单的事情讲的复杂,让自己能将一件复杂的事情讲的简单.嘛嘛, ...
- 【安卓学习笔记】Android Handler 消息机制探究
一.概述 1.android消息机制的含义: Android消息机制,其实指的就是 Handler 的运行机制,而 Handler 要正常运作,又需要底层的 MessageQueue , Looper ...
- sqllite开发安卓项目_安卓学习笔记(一)
本人接触安卓也有一年半载了.本人是c++程序员,我对于安卓和java的态度就像,c++是大老婆,java和安卓是小老婆.但是大老婆总是让人不省心,所以安卓还是挺好玩的.那么接下来写写文章,记录一下安卓 ...
- python中csv文件把成绩加入_【学习笔记】python3中csv文件使用
1. reader=csv.reader(f, delimiter=','):按行读取数据,reader为生成器,读取的每行数据为列表格式,可以通过delimiter参数指定分隔符. import c ...
- 学习笔记 --- 编码过程中常见的三种异步方式
实际的编码过程中, 凡是涉及到网络通信的代码, 异步都是决不可缺少的. 那么什么是异步呢? 异步就是子线程, 异步通过开辟子线程来实现, 所以一提到异步就应该想到子线程. 即使不涉及网络通信, 异步也 ...
最新文章
- 服务压测发现怪异现象,一顿排查,揪出“TIME_WAIT”这个内鬼
- 太赞了!副业月入3W的技术大佬的公众号,学起来!
- 如果我睡着了请不要叫醒我
- 不是你无法入门自然语言处理(NLP),而是你没找到正确的打开
- java 多模块模块变灰色_到底谁需要Java模块?
- Windows Serivce服务实现过程和打包安装
- webpack4开始使用
- MYSQL 调优和使用必读
- C语言基础专题 - 存储类(编辑中)
- 关于nova-manage service list检测服务状态原理
- Oracle 角色权限表
- mysql5.6设置日志路径_mysql5.6.12切换binlog二进制日志路径_MySQL
- 考研英语到底该如何复习?
- uniapp中text-indent不起作用,uniapp首行缩进不管用如何解决?
- 计算机系微电子专业大学排名,微电子专业大学排名情况一览表
- educoder 2-2Python 计算思维训练——循环与列表(二)
- 程序员情人节脱单指南
- redis—redis概述
- 一度智信|拼多多客服售后须知
- 测试中常用的批处理命令
热门文章
- 解决HttpServletRequest的输入流只能读取一次的问题(转)
- 解决TensorBoard训练集和测试集指标只能分开显示的问题(基于Keras)
- 问题解决java.lang.IllegalArgumentException at org.springframework.asm.ClassReader
- tomcat报错LifecycleException的解决方案
- Docker映像和容器之间有什么区别?
- JavaScript检查null与undefined以及==和===之间的差异
- 带有JSON的杰克逊:无法识别的字段,未标记为可忽略
- 测试嵌套JavaScript对象键的存在
- 如何删除内联块元素之间的空间?
- 关于WordPress中字体加载慢的问题解决方案(转)