1. standard

  标准模式,是活动默认的启动模式,在不进行显示指定的情况下,所有活动都会自动使用这种模式。

  Android使用返回栈管理活动,在standard模式下,每当启动一个新的活动,它就会在返回栈中入栈,并处在栈顶位置。

  例如:

  1. public class FirstActivity extends AppCompatActivity {
  2. @Override
  3. protected void onCreate(Bundle savedInstanceState) {
  4. super.onCreate(savedInstanceState);
  5. //提示信息
  6. Toast.makeText(this, "FirstActivity" + this, Toast.LENGTH_SHORT).show();
  7. setContentView(R.layout.activity_first);
  8. Button btn = findViewById(R.id.btn1);
  9. btn.setOnClickListener(new View.OnClickListener() {
  10. @Override
  11. public void onClick(View v) {
  12. Intent intent = new Intent(FirstActivity.this, FirstActivity.class);
  13. startActivity(intent);
  14. }
  15. });
  16. }
  17. }

FirstActivity.java

  从输出信息可以看出,当点击new activity时,会新建一个活动,执行了onCreate方法。

2. singleTop

  如果要启动一个活动,当栈顶已经存在了该活动,那么不会再次新建这个活动;反正,如果这个活动不在栈顶,仍然会新建这个活动。

  可能有些时候,绝对standard模式不太合理,活动已经在栈顶了,为什么还要启动新的活动?

  设置为singleTop模式:

  1. <activity android:name=".FirstActivity"
  2. android:launchMode="singleTop">
  3. <intent-filter>
  4. <action android:name="android.intent.action.MAIN" />
  5. <category android:name="android.intent.category.LAUNCHER" />
  6. </intent-filter>
  7. </activity>

3.singleTask

  目的是让某个活动在整个应用程序的上下文中只存在一个实例。每次启动活动时,系统会首先检查返回栈中是否存在这个活动,只有不存在才会创建,如果找到,直接使用返回栈的活动。

4.singleInstance

  启动一个新的返回栈来管理这个活动。

  实现多个程序共享活动,多个应用程序共享这个返回栈。

Android活动的启动模式的更多相关文章

  1. Android学习笔记(六)——活动的启动模式

    //此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! 活动的启动模式共有四种: standard.singleTop.singleTask 和 singleInst ...

  2. Android学习之基础知识四-Activity活动7讲(活动的启动模式)

    在实际的项目开发中,我们需要根据特定的需求为每个活动指定恰当的启动模式.Activity的启动模式一共有4种:standard.singleTop.singleTask.singleInstance. ...

  3. Android:活动的启动模式

    启动模式一共有四种,分别是 standard .singleTop . singleTask 和 singleInstance , 可 以 在 AndroidManifest.xml 中 通 过 给 ...

  4. Android四种启动模式

    四种启动模式 standard(默认) singleTop singleTast singleInstance standard(默认) 系统默认的启动模式. Android是使用返回栈来管理活动的, ...

  5. android Activity的启动模式

    Android中Activity启动模式详解   在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作.在Android中Activity的启 ...

  6. android 开发 singleTask启动模式下传值的坑

    日常填坑. 做了什么操作引起的?如下: 在活动A 启动模式设置为singleTask ,然后再用活动A启动活动B,活动B启动活动C. 现在我的活动C要使用intent携带值去启动活动A.在活动A中正常 ...

  7. 74.Android之四种启动模式

    转载:http://www.cnblogs.com/meizixiong/archive/2013/07/03/3170591.html 一.启动模式介绍 启动模式简单地说就是Activity启动时的 ...

  8. android 4种启动模式

    在android里,有4种activity的启动模式,分别为: “standard” (默认) “singleTop” “singleTask” “singleInstance” 它们主要有如下不同: ...

  9. Android中的启动模式(下)

    在这篇文章中,我会继续跟大家分享有关于Android中启动模式的相关知识.当然,如果对这个启动模式还不完全了解或者没有听过的话,可以先看看我之前写的有关于这个知识点的入门篇Android的启动模式(上 ...

随机推荐

  1. leecode刷题(5)-- 只出现一次的数字

    leecode刷题(5)-- 只出现一次的数字 只出现一次的数字 描述: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素. 说明: 你的算法应该具 ...

  2. nandflash之基本特性

    nandflash作为嵌入式中的”磁盘”, 被广泛的应用, 以(K9F2G08U0B)为例,其他型号都差不多 nandflash的结构 nandflash的结构有页(page), block(块)的概 ...

  3. node.js express 启用 https

    服务端和客户端各有一对公钥和私钥,使用公钥加密的数据只能用私钥解密,建立https传输之前,客户端和服务端互换公钥.客户端发送数据前使用服务端公钥加密,服务端接收到数据后使用私钥解密,反之亦如此. 公 ...

  4. UVA - 10780 唯一分解定理

    白书P171 对m,n!分解,质因子指数取min #include<iostream> #include<algorithm> #include<cstdio> # ...

  5. HDU - 4763 找出特殊规律的串

    在一个Text串中找出Pattern串E以满足EAEBE,A B可以是任意串 看一眼觉得woc好难,后来看一下样例AB为空也可以 找观察一下E既是前缀也是后缀,很容易联想到next 最优情况EEE,那 ...

  6. 隐藏入口文件的apache配置

    AllowOverride None->AllowOverride All #LoadModule rewrite_module modules/mod_rewrite.so->LoadM ...

  7. [转] CSS 颜色名

    [From] http://www.w3school.com.cn/cssref/css_colornames.asp CSS 颜色名 所有浏览器都支持的颜色名. HTML 和 CSS 颜色规范中定义 ...

  8. RNN(recurrent neural network)学习笔记

    参考:https://www.jianshu.com/p/9dc9f41f0b29  以及<白话深度学习与TensorFlow> 与前馈神经网络.卷积神经网络等不同之处在于,RNN具有一定 ...

  9. maven-javadoc-plugin

    <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javad ...

  10. PIE SDK位深转换

      1.算法功能简介 位深转换功能是一种用于更改一个给定输入文件数据范围的灵活方法.可以完全控制输入和输出直方图,以及输出数据类型(字节型.整型.浮点型等). PIE支持算法功能的执行,下面对位深转换 ...