Android启动模式launchMode

在Android里,有4种Activity的启动模式并分别介绍下:

  1. standard
  2. singleTop
  3. singleTask
  4. singleInstance

AndroidManifest.xml配置android:launchMode属性

1.standard:

  默认启动模式.

  每次都会创建一个实例,每个任务栈里面都可以使用。



2.singleTop:

  系统会按照singleTop启动模式处理跳转行为.跳转时系统会先在栈结构寻找是否有一个Activity实例正位于栈顶,如果有则不在生成新的,而是直接使用。如果系统发现存在有Activity实例,但不是位于栈顶,重新生成一个实例.

  singleTop启动模式就是这样,如果发现对应的Activity实例正处于栈顶,反复创建也就只能创建一个实例(反复利用不生成新的实例).反之,此时不处于栈顶就创建新的实例。



3.singleTask:

  如果发现有对应的Acitivty实例,则使此Activity实例之上的Activity实例统统退出栈,使此Acitivity实例成为栈顶对象,显示到屏幕前。



4.singleInstance:

  这钟启动模式比较特殊,因为它会启用一个新的栈结构,将Activity放置于新的栈结构中,并保证不再有其他Activity实例进入.

  只存在一个独立的任务栈里面,一个任务栈就只包括它一个。



待续.......

  1.这些启动模式在哪里地方能用到呢?

  2.文字表述比较抽象,画图演示可好?

  3.启动模式背后的秘密?

时间: 2024-10-12 20:22:13

Android启动模式launchMode的相关文章

深入Activity,Activity启动模式LaunchMode完全解析

转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/53221384 本文出自[DylanAndroid的博客] 深入Activity,Activity启动模式LaunchMode完全解析 在平时的开发中,我们可能会了解到Activity的任务栈还有Activity的启动模式.那么Activity的启动模式都分别是怎么样的呢?如果设置了这些启动模式对任务栈有事么影响 ,还有就是这么启动模式在实际的开发中有什么应用呢?这里用图例和d

全面解析Activity启动模式(LaunchMode)

欢迎Follow我的GitHub, 关注我的CSDN. 在Android应用中, Activity是最核心的组件, 如何生成一个Activity实例, 可以选择不同的启动模式, 即LaunchMode. 启动模式主要包括: standard, singleTop, singleTask, singleInstance. 标准模式在每次启动时, 都会创建实例; 三种单例模式, 会根据情况选择创建还是复用实例. 在Activity启动中, 创建实例的生命周期: onCreate -> onStart

Android -- 启动模式

Android的启动模式分为四种: standard 模式启动模式,每次激活Activity时都会创建Activity,并放入任务栈中. singleTop 如果在任务的栈顶正好存在该Activity的实例, 就重用该实例,否者就会创建新的实例并放入栈顶(即使栈中已经存在该Activity实例,只要不在栈顶,都会创建实例). singleTask 如果在栈中已经有该Activity的实例,就重用该实例(会调用实例的onNewIntent()).重用时,会让该实例回到栈顶,因此在它上面的实例将会被

Activity启动模式launchMode

今天要讲得是Activity的四种启动模式launchMode属性,该属性用于配置该Activity的加载模式,该属性支持以下4个属性值. standard:标准模式,也是默认模式. singletop:Task栈顶单例模式. singleTask:Task内单例模式. singlestance:全局单例模式. 在继续写下去之前我想说一下,像launchMode这种基础的Android知识在网上已经有很多大神写得十分详细,为什么我还要写呢?我之所以写,是因为我确确实实是个菜鸟,将课本.网上大神的

Activity启动模式(launchMode)详解

Activity 的启动模式有四种,standard.singleTop.singleTask.singleInstance. image.png 1.standard standard是Activity默认的启动模式,在不进行显示指定的情况下,所有活动都会自动使用这种启动模式. 每次启动都一个新的Activity位于栈顶. android:launchMode="standard",此时每次点击按钮都会创建新的Activity 现在,我们写一个简单的按钮 ,实现跳转Activity

Android启动模式以及IntentFilter匹配规则

一.Android的LaunchMode 共有四种启动模式 1.standard 标准启动模式,Activity的默认启动模式.Activity的每次启动都创建新的示例 2.singleTop 栈顶复用模式,当启动的Activity处于栈顶时,不再创建新的活动实例.将回调onNewIntent方法. 3.singleTask 栈内复用模式,当启动的Activity在一个栈中存在实例,不再创建新的实例,弹出在其之上的所有实例将其置于栈顶.同样会回调onNewIntent方法. 4.singleIn

android启动模式2

Android中的启动模式(下) 在这篇文章中,我会继续跟大家分享有关于Android中启动模式的相关知识.当然,如果对这个启动模式还不完全了解或者没有听过的话,可以先看看我之前写的有关于这个知识点的入门篇Android的启动模式(上).好了,言归正传,在上一篇已经介绍过,activity在栈中默认不能重排,因此,应用中的一个activity可能被多次实例化并且压入同一个栈中,如图所示: 如果此时使用back键返回,activity的每个实例都将会按照打开的顺序重新出现.这势必会导致用户生体验效

Android启动模式之singleinstance的坑

前言 在实际应用中,使用singleinstance启动模式时,会遇到一些奇奇怪怪的问题.Android有四种启动模式,分别是standard,singleTop,singleTask,singleInstance.下面分别简单的介绍下这四种启动模式的作用. standard Android 默认的一种启动模式.不需要为activity设置launchMode.这种启动模式简单的来说就是当你startActivity的时候,他就创建一个. singleTop 这种模式模式从字面意思就能看得出来,

Android-Activity启动模式(launchMode)

Activity启动模式是非常重要的一块内容,启动模式直接关系到用户的体验 和 性能的提升等 Activity启动模式分为四种: 如果不配置:launchMode,默认就是:standard 标准的 standard 标准的 singleTop 独占顶端 singleTask 单任务 singleInstance 单实例 standard 标准的,特点是:启动一个Activity就进栈一个Activity,启动六个Activity就进栈六个Activity 原文地址:https://www.cn