Activity启动模式
来源:互联网 发布:财新网 知乎 编辑:程序博客网 时间:2024/05/29 14:37
转载请注明出处:TuTu
Activity的启动模式一共分为四种,分别是standard、singleTop、 singleTask 和 singleInstance,通过在AndroidManifest.xml 中指定android:launchMode属性来选择启动模式。
<activity android:name=".SingleInstanceActivity" android:label="singleInstance launchMode" android:launchMode="standard">
standard 默认模式
在这个模式下,默认都会创建一个新的实例。每当启动一个新的活动都会创建一个新的实例,并进入返回栈中处于栈顶的位置。所以就会生成多个相同的实例,并叠加在一起。假如先后启动了A-B-C三个活动,那么按下返回键之后会先干掉C,B就会成为栈顶的首位,以此类推。
singleTop 栈顶复用模式
如果要开启的活动在任务栈的顶部已经存在,就不会创建新的实例,就会调用 onNewIntent() 方法。假如A活动已经启动,突然来了一个通知(也是A活动)打开通知之后就不会再创建实例了。
singleTask 栈内复用模式
在整个应用程序的上下文中只存在一个实例。每次启动该活动时系统首先 会在返回栈中检查是否存在该活动的实例,如果发现已经存在则直接使用该实例,并把在这个活动之上的所有活动统统出栈,如果没有发现就会创建一个新的活动实例。
singleInstance 单一实例模式
活动会启用一个新的返回栈来管理这个活动,并且任务栈里面只有他一个实例存在。这种模式很少被使用。实际使用的案例如Launcher的Activity或者100%确定只有一个Activity的应用。总之除非完全有必要,不然不建议使用这种模式。
除了在AndroidManifest.xml中直接设置launchMode,我们还可以通过Intent Flags来设置。
Intent intent = new Intent(MainActivity.this,ModeActivity.class);intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);startActivity(intent);
- android Activity启动模式
- Android Activity启动模式
- activity启动模式详解
- Activity启动模式1
- activity的启动模式
- Activity有四种启动模式
- Activity启动模式
- activity启动模式分析
- Activity的启动模式
- Activity 启动模式
- Activity启动模式
- Activity的启动模式
- Activity 启动模式
- Activity启动模式总结
- Activity的启动模式
- Activity的启动模式
- Activity 启动模式
- Activity启动模式
- PHP基础排序算法(一)冒泡排序
- 0_前言
- C#错误信息后抛之日志
- static、final的 用法
- 世界尽头与冷酷仙境(村上春树)-摘录
- Activity启动模式
- 递归函数
- 修改个人资料页面
- hdoj1301 Jungle Roads
- EA基础篇设置默认语言和默认数据库
- 渐变&马赛克——水晶格图标
- 【javase复习】## day11 其他流 ##
- 29. Divide Two Integers
- PyQt5教程(九)——绘图