Android中Activity的四种启动方式
谈到Activity的启动方式必须要说的是数据结构中的栈。栈是一种只能从一端进入存储数据的线性表,它以先进后出的原则存储数据,先进入的数据压入栈底,后进入的数据在栈顶。需要读取数据的时候就需要从顶部开始读取数据,栈具有记忆功能,对栈的操作不需要指针的约束。在Android中Activity的显示其实就是一个入栈和出栈的过程。当打开一个Activity的时候Activity入栈,当关闭一个Activity的时候Activity出栈,用户操作的Activity位于栈顶,一般情况下,一个应用程序对应一个任务栈,当任务栈清空时也就代表应用程序清空了。同时当一个任务栈创建的时候系统就会分配一个int类型的id,当任务栈结束,这个id也就回收。
默认启动方式:standard
系统默认的Activity启动模式,他的读取和栈一样,当调用某个Activity时入栈,撤销时出栈,显示Activity位于栈顶。
顶部唯一任务:singleTop
当某个Activity设置了这种启动模式时,当Activity入栈位于顶部时,若再向Activity入栈(进入一个相同Activity的实例),那么系统会服用栈顶Activity,不会再创建新的Activity入栈。
单一任务:singleTask
当某个Activity设置了这种启动模式,说明这个栈只能允许一个Activity,不允许多个相同Activity。
单一实例:singleInstance
当某个Activity设置了这种启动模式,这种启动模式很特殊,Activity只会进入和自己相同的Activity栈中,不会进入其他的栈,也就是有不止一个任务栈位于一个应用程序中。
对四种启动模式做个总结:
Android中Activity的四种启动方式的更多相关文章
- Android中Activity的四种启动模式
要了解Android的启动模式先要了解一下Activity的管理方式: 1.Activity的管理机制 Android的管理主要是通过Activity栈来进行的.当一个Activity启动时,系统根据 ...
- activity 的四种启动方式
Activity启动模式设置: <activity android:name=".MainActivity" android:launchMode="standar ...
- Android 关于Activity的四种启动模式的简单介绍
Activity启动模式设置: <activity android:name=".MainActivity" android:launchMode="standar ...
- Android中Activity的四种开发模式
Activity的四种启动模式:standard.singleTop.singleTask.singleInstance 清单文件中的Activity配置使用:android:launchMode ...
- Android中activity的四个启动模式
activity的四个启动方式分别是standard.singletop.singletask.singleinstance.第一个其实就是只要新打开活动就会新建一个实例.第二个顾名思义返回栈的顶部只 ...
- 关于android的Activity的四种启动模式
最近做项目遇到一个问题,当触摸屏幕的时候通过intent启动activity,发现会启动多次,而后查阅资料,发现,原来是activity的模式设置问题. Activity的启动模式可以通过Androi ...
- Android界面组件的四种启动方式
Android界面组件启动有四种方式 standard,singleTop,singleTask,singleInstance. standard:每次调用都会都会产生新的组件. singletop: ...
- Android之Activity的四种启动模式
当应用运行起来后就会开启一条线程,线程中会运行一个任务栈,当Activity实例创建后就会放入任务栈中.Activity启动模式的设置在AndroidManifest.xml文件中,通过配置Activ ...
- Android Activity 的四种启动模式 lunchMode 和 Intent.setFlags();singleTask的两种启动方式。
原文:Android Activity 的四种启动模式 lunchMode 和 Intent.setFlags();singleTask的两种启动方式. Android Activity 的四种启动模 ...
随机推荐
- 关于angular的好文推荐
独立作用域篇 1)http://www.angularjs.cn/A09C 2)http://www.cnblogs.com/wangmeijian/p/4944030.html 理解$watch , ...
- Request.UrlReferrer详解
使用前需要进行判断: if (Request != null && Request.UrlReferrer != null && Request.UrlReferrer ...
- Linux proc_mkdir和proc_create的用法
//功能:在proc中创建一个文件夹 //参数1:创建的文件夹名称 //参数2:创建的文件夹路径,就是在哪个文件夹中创建,如果是proc根目录,此参数为NULL //返回值:创建的文件夹路径 stru ...
- jeecg中List页面标签的用法
1.t:datagrid的常用属性 1. <t:datagrid name="jeecgDemoList" checkbox="true" sortNam ...
- 基于Spring Boot和Spring Cloud实现微服务架构
官网的技术导读真的描述的很详细,虽然对于我们看英文很费劲,但如果英文不是很差,请选择沉下心去读,你一定能收获好多.我的学习是先从Spring boot开始的,然后接触到微服务架构,当然,这一切最大的启 ...
- CMapStringToPtr添加与释放
// 创建MapStringToPtr CMapStringToPtr m_prjFiles; CStringList m_fileList; m_fileList.AddTail(_T(" ...
- 以太坊客户端Geth命令用法
命令用法 geth [选项] 命令 [命令选项] [参数…] 命令: account 管理账户attach 启动交互式JavaScript环境(连接到节点)bug 上报bug Issuesconsol ...
- 【BZOJ】2006: [NOI2010]超级钢琴(前缀和+RMQ+堆)
题目 传送门:QWQ 分析 又不会做....... 显然很好想到前缀和处理一下. 然后考虑最大化结果,直接上st表. 问题来了,然后呢? 怎么做$ length \in [l,r] $ 呢? 正解是 ...
- 【BZOJ】2819: Nim(树链剖分 / lca+dfs序+树状数组)
题目 传送门:QWQ 分析 先敲了个树链剖分,发现无法AC(其实是自己弱,懒得debug.手写栈) 然后去学了学正解 核心挺好理解的,$ query(a) $是$ a $到根的异或和. 答案就是$ l ...
- 【洛谷】P1064 金明的预算方案(dp)
题目描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N元钱就行”.今 ...