一句话_理解Activity四种启动模式
2016-01-21 10:43
447 查看
设置启动模式的方式:
<activity android:name="Demo" android:launchMode="启动模式"></activity>
1、standard :默认情况下,每次,被启动Activity都是一个新的实例,并被压入栈顶。
比如A通过standard启动B,则A与B在同一个栈中。
2、singleTop:如果被启动的Activity已存在栈顶,则不重新创建该Activity,而是直接使用。如果被启动的Activity不存在栈顶,则重新创建,这样作用和standard一样。
比如A通过singleTop启动自己,当前A在栈顶,所以不会重新创建对象并压入栈中,这样在栈中只有一个实例,就是他自己,不管启动多少次。
3、singleTask:如果被启动的Activity在栈中存在(不管是否存在与栈顶,这是与singleTop的区别),都不会重新创建被启动Activity的实例,直接使用,如果这个Activity头上还有其他Activity,这些其他Activity将被弹出,直到此Activity被置于栈顶。如果被启动的Activity不存在栈中,则重新创建一个Task并重新创建一个Activity放入新的栈低,方便其他程序对其共享。
4、singleInstance:A程序通过此模式启动的Activity将被放置在一个独立的(新的)Task中,当其他程序也去调用此Activity时,不会在对此Activity再重新创建,前提是A程序没有退出。A程序和其他程序用的是同一个Activity实例。
<activity android:name="Demo" android:launchMode="启动模式"></activity>
1、standard :默认情况下,每次,被启动Activity都是一个新的实例,并被压入栈顶。
比如A通过standard启动B,则A与B在同一个栈中。
2、singleTop:如果被启动的Activity已存在栈顶,则不重新创建该Activity,而是直接使用。如果被启动的Activity不存在栈顶,则重新创建,这样作用和standard一样。
比如A通过singleTop启动自己,当前A在栈顶,所以不会重新创建对象并压入栈中,这样在栈中只有一个实例,就是他自己,不管启动多少次。
3、singleTask:如果被启动的Activity在栈中存在(不管是否存在与栈顶,这是与singleTop的区别),都不会重新创建被启动Activity的实例,直接使用,如果这个Activity头上还有其他Activity,这些其他Activity将被弹出,直到此Activity被置于栈顶。如果被启动的Activity不存在栈中,则重新创建一个Task并重新创建一个Activity放入新的栈低,方便其他程序对其共享。
4、singleInstance:A程序通过此模式启动的Activity将被放置在一个独立的(新的)Task中,当其他程序也去调用此Activity时,不会在对此Activity再重新创建,前提是A程序没有退出。A程序和其他程序用的是同一个Activity实例。
相关文章推荐
- input text 的事件及方法
- Android- 关于proguard.cfg
- unity3d 如何得到当前物体播放的动画
- 安卓实用方法总结(更新中……)
- ajax请求
- 百度云播放视频尺寸加大的方法
- Ubuntu14.04 创建应用图标
- IOS NSString类字符串拼接与截取注意点
- Ugly Number II
- 关于烂代码的那些事(上)
- viewPager的简单使用
- 系统最大连接数
- Caused by: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity
- Android——systembroadcast 列表
- Android——permission 列表
- centos apache IE8兼容
- nodejs学习笔记<安装和配置>
- Java中方法的重载与覆写的区别
- Jquery三级菜单切换
- webstorm 设置jsp支持ZenCoding