内容简介:众所周知这是 Activity 的默认模式,如果不去设置当前应用的 Activity 的栈中只会存在一个Activity实例
众所周知这是 Activity 的默认模式,如果不去设置 launchMode
属性,Activity默认启动模式是介个。
1. Activity1多次启动后,当前Activity栈中会出现多个Activity实例。
2. 始终为Intent创建新实例。
singleTop
-
Activity在当前Activity栈顶的情况,不会重新创建Activity实例,第二次打开会调用
onNewIntent(Intent intent)将新的Intent对象传入 -
等效于
Intent intent = new Intent(getApplicationContext(), xxxActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); startActivity(intent); 复制代码 -
如果不是在栈顶,则会和 standard 模式一样,创建新的实例。
singleTask
当前应用的 Activity 的栈中只会存在一个Activity实例
-
当该模式已启动的 Activity 被再次启动时,会调用
onNewIntent(Intent intent)然后将上面所有 Activity 全部清理(包括自己),全部调至onDestroy()生命周期 - 没有 Intent#FLAG 与这种模式匹配
-
可以使用如下
Intent intent = new Intent(getApplicationContext(), xxxActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); 复制代码
-
和上部分 3 的区别,Intent.FLAG_ACTIVITY_CLEAR_TOP(不会杀死目标Activity)
Intent intent = new Intent(getApplicationContext(), xxxActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); 复制代码
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 深入理解iOS App的启动过程
- 从 Example 出发理解 Flink:Flink 启动
- Tomcat 7 启动分析(一)启动脚本
- dotnet 启动 JIT 多核心编译提升启动性能
- Win32 程序在启动时激活前一个启动程序的窗口
- 死磕Android_App 启动过程(含 Activity 启动过程)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Practical Algorithms for Programmers
Andrew Binstock、John Rex / Addison-Wesley Professional / 1995-06-29 / USD 39.99
Most algorithm books today are either academic textbooks or rehashes of the same tired set of algorithms. Practical Algorithms for Programmers is the first book to give complete code implementations o......一起来看看 《Practical Algorithms for Programmers》 这本书的介绍吧!