关于activity的启动模式
在Android中每个界面都是一个Activity ,界面的切换实际上是对不同Activity实例化的过程。而启动模式就决定Activity启动运行方式。 1、设置方式
它是在主配置文件中,Activity标签下的一个属性:android:launchMode=""
2、属性值:
standard (标准,默认)
如果不设置一个Activity的启动模式,则该Activity默认的启动模式就是standard,该模式下,每次启动一个该Activity都会
实例化一个新的Activity对象,并且放入任务栈中。它们都同属于一个Task singleTop
见名知意,该模式为栈顶唯一模式。当Activity处于该模式下的时候,当需要启动此Activity时,会先看此Activity的实例是否存在于
任务栈栈顶,如果位于栈顶,则重用该实例,不进行实例化。如果任务栈顶不是该Activity,则创建新的Activity,并且压入任务栈内。 singleTask
此模式为栈内唯一模式,此模式与栈顶唯一模式不同在于,栈顶唯一模式只看栈顶是否是我们要启动的Activity,而栈内唯一模式要看我们要
启动的Activity是否位于整个栈内,从上到下检查,若存在,则将该Activity回到栈顶,即将该Activity上面所有的Activity进行出栈操作,
进行销毁,这样我们需要的Activity将回到栈顶,得到焦点,与用户进行交互。 singleInstance
此模式为单一实例模式。处于这种模式下的Activity被启动时,先检测是否有存放该Activity的任务栈,若有则复用相应的Activity,若没有,创建
新的Activity并放入一个新的任务栈,每个任务栈中只存放一个Activity对象,不可能存在其它Activity对象,处于这种状态下的Activity对象不存在
回退窗口。 总之,在Android 开发中,合理运用Activity的启动模式,将大大节省系统内存开销,提高运行效率。
关于activity的启动模式的更多相关文章
- 无废话Android之activity的生命周期、activity的启动模式、activity横竖屏切换的生命周期、开启新的activity获取他的返回值、利用广播实现ip拨号、短信接收广播、短信监听器(6)
1.activity的生命周期 这七个方法定义了Activity的完整生命周期.实现这些方法可以帮助我们监视其中的三个嵌套生命周期循环: (1)Activity的完整生命周期 自第一次调用onCrea ...
- android Activity的启动模式与flag的见解
最近做一个安卓项目,想要实现的效果就是:当打开一个按钮的时候,启动了一个A功能,当用户返回到桌面再继续进去的时候,不过之前在哪个Activity,都会先跳转到A功能的那个界面,当用户点击返回的时候,再 ...
- android Activity的启动模式
Android中Activity启动模式详解 在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作.在Android中Activity的启 ...
- Activity的启动模式(android:launchMode)
在android里,有4种activity的启动模式,分别为: “standard” (默认) “singleTop” “singleTask” “singleInstance” 它们主要有如下不同: ...
- 4种activity的启动模式
在android里,有4种activity的启动模式,分别为: “standard” (默认) “singleTop” “singleTask” “singleInstance” 它们主要有如下不同: ...
- Activity的启动模式及回退栈的概念
Activity的启动模式 standard 正常模式 在创建一个新的activity的时候,直接在栈顶创建一个新的activity singleTop 顶部单个 在创建一个新的activity的时候 ...
- Activity 的启动模式
好久没用过那几种activity的启动模式了,如今看到singletop竟然傻了眼,完全忘记了这几种启动模式的区别!隧将两年前的总结翻出来,通读一遍那晦涩难懂的记录,又理解了一遍,在以前记录的基础上, ...
- Activity LauchMode启动模式(转载)
转载于:http://www.cnblogs.com/plokmju/p/android_ActivityLauncherMode.html 在一个Android应用中,不可避免的会包含多个Activ ...
- Android开发艺术2之Activity的启动模式
Activity是Android的四大组件之一,他的重要性毋庸置疑,对于这么重要的一个组件,我们首先要知道这些都是由系统进行管理和回调的,要理解Activity的启动模式,我们首先来了解一下Andro ...
随机推荐
- python 核心编程课后练习(chapter 5)
5-2 #5-2 def mul(x, y): return x * y print mul(4,5) 5-3 #5-3 def value_score(num): if 90<=num< ...
- Android工作学习第5天之Activity的传值问题
注:本文大部分为网上转载,本人只是根据工作的需要略做整合! 本章将借用一个实例,讲解如何注册并激活一个新的Activity,以及多个Activity之间如何传值. 下面是主Activity的代码: [ ...
- idea添加内存
在idea安装目录下的以下两个文件: 添加内存:
- 如何在IDEA上 添加GIT和maven、mybatis插件
IDEA工具上,添加GIT和maven.mybatis插件,相对比较简单: 首先下载GIT.maven.mybatis. 先添加GIT插件: 首先在IDEA找到file中找到setting,然后搜索g ...
- iptables日志探秘
iptables日志探秘 防火墙的主要功能除了其本身能进行有效控制网络访问之外,还有一个很重要的功能就是能清晰地记录网络上的访问,并自动生成日志进行保存.虽然日志格式会因防火墙厂商的不同而形态各异,但 ...
- Ms sql行转列。汇总
SQL行转列汇总 PIVOT 用于将列值旋转为列名(即行转列),在 SQL Server 2000可以用聚合函数配合CASE语句实现 PIVOT 的一般语法是:PIVOT(聚合函数(列) FOR 列 ...
- PHP正则表达式模式修饰符 /i, /is, /s, /isU等
模式修饰符 下面列出了当前可用的 PCRE 修饰符.括号中提到的名字是 PCRE 内部这些修饰符的名称. 模式修饰符中的空格,换行符会被忽略,其他字符会导致错误. i (PCRE_CASELESS) ...
- leetcode 205
205. Isomorphic Strings Given two strings s and t, determine if they are isomorphic. Two strings are ...
- 是德科技完成对Anite的收购
是德科技公司(NYSE:KEYS)日前宣布已经完成对Anite 的收购行动.Anite 是业界领先的无线研发软件解决方案供应商.是德科技通过支付大约6 亿美元现金将其收入麾下,旨在支持是德科技发展无线 ...
- ES6学习笔记(2)
变量的解构赋值 ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,被称为解构(Destructuring); 数组的解构赋值 let [a, b, c] = [1, 2, 3]; cons ...