Android 新建activity的intent 的flag
来源:互联网 发布:linux切换到指定目录 编辑:程序博客网 时间:2024/05/22 10:50
如果在两个activity 之间 可以直接跳转并且可以相应返回键。那么,当两者多次相互跳转之后,再相应返回键,那么结果就是两个activity交替出现。
但,实际上,你想要的效果是,俩个activity退出而已,怎么会出现那么多次。
原因是intent 的flag。
这篇文章里有解释
http://www.eoeandroid.com/thread-263361-1-1.html
Activity栈来管理Activity的东西,其实这个东西就是task,task以栈先进后出的管理方式来管理其中的Activity。每当一个程序启动的时候,android系统就会为这个程序创建一个task来管理这个程序用到的activity
一个程序启动后系统会为这个程序分配一个task供其使用,另外同一个task里面可以拥有不同应用程序的activity。那么,同一个程序能不能拥有多个task?这就涉及到加载activity的四种模式:standard、singleTop、singleTask、singleInstance。可以在AndroidManifest.xml中activity标签的属性launchMode中设置该activity的加载模式。简述下这四种模式的区别:
1、standard模式:默认的模式,以这种模式加载必定会构造一个新的Activity实例放到目标task中的activity栈顶,不管当前task的栈顶是什么情况。
2、singleTop模式:这种模式与standard模式类似,区别在于加载activity会多个判断步骤。判断需要加载的新activity与当前task栈顶的activity是不是同一个,相同的话就不再构造新的activity,并调用这个activity的newInstance()方法,不相同就还是会构造新的activity放到栈顶。
3、singleTask模式:这种模式下,会创建一个新的task来加载这个activity,并且这个task中只允许存在一个Activity的一个实例(以后可以加载其他activity的实例)。
4、singleTask模式:这种模式下,会创建一个新的task,并且这个task中只能存在一个需要加载的这个Activity实例,即除了这个activity之外,不允许其他activity。
从这四种Activity的加载模式中大概可以看出同一个程序可以拥有多个task。
=====
如果想跳转之后,不在保存前面那个activity,那就finish就可以了。
- Android 新建activity的intent 的flag
- Android Activity 启动模式:Intent 的Flag
- Activity 、Intent的flag介绍
- Intent启动Activity的Flag
- Android的Intent Flag
- Android 笔记 -- Activity intent经常使用的 FLAG 集合
- Intent的Flag和Activity的Task
- Android Intent Flag的介绍
- Android Intent Flag的介绍
- Android Intent Flag的介绍
- Android Intent Flag的介绍
- Android Intent Flag的介绍
- Android Intent Flag的介绍
- Android Intent Flag的介绍
- Android Intent Flag的介绍
- Android Intent Flag的介绍
- Android Intent常见的FLAG
- Android Intent Flag的介绍
- 【1192】C语言实验——一元二次方程Ⅱ
- windows XP 开机网络连接慢 的解决方法
- ASP.NET内幕 – IIS处理模型
- linux下man头文件没有手册页条目
- Dijkstra算法(求单源最短路径)
- Android 新建activity的intent 的flag
- 安卓开发那点事
- object c_专业名词
- 祝贺CSDN学院成功上线
- HDU 1016 Prime Ring Problem
- 朴素贝叶斯分类算法
- linux 下 apache启动、停止、重启命令
- Qt递归非递归遍历文件
- 对NSArray中自定义的对象进行排序