`

Activity四种启动模式(android:launchMode)

 
阅读更多

一、启动模式介绍

  启动模式简单地说就是Activity启动时的策略,在AndroidManifest.xml中的标签的android:launchMode属性设置;

  启动模式有4种,分别为standard、singleTop、singleTask、singleInstance

讲解启动模式之前,有必要先讲解一下“任务栈”的概念;

       每个应用都有一个任务栈,是用来存放Activity的,功能类似于函数调用的栈,先后顺序代表了Activity的出现顺序;比如Activity1-->Activity2-->Activity3。

二、启动模式

(1)standard:每次激活Activity时(startActivity),都创建Activity实例,并放入任务栈;

 
 

(2)singleTop:如果某个Activity自己激活自己,即任务栈栈顶就是该Activity,则不需要创建,其余情况都要创建Activity实例;


 

(3)singleTask:如果要激活的那个Activity在任务栈中存在该实例,则不需要创建,只需要把此Activity放入栈顶,并把该Activity以上的Activity实例都pop;


 

 

(4)singleInstance:singleInstance模式会将启动的Activity放置的不同的栈结构中。


 

 

我们看到从FirstActivity跳转到SecondActivity时,重新启用了一个新的栈结构,来放置SecondActivity实例,然后按下后退键,再次回到原始栈结构;图中下半部分显示的在SecondActivity中再次跳转到FirstActivity,这个时候系统会在原始栈结构中生成一个FirstActivity实例,然后回退两次,注意,并没有退出,而是回到了SecondActivity,为什么呢?是因为从SecondActivity跳转到FirstActivity的时候,我们的起点变成了SecondActivity实例所在的栈结构,这样一来,我们需要“回归”到这个栈结构。

 

  • 大小: 32.1 KB
  • 大小: 33.3 KB
  • 大小: 34.6 KB
  • 大小: 22.9 KB
2
2
分享到:
评论

相关推荐

    Android代码-Android 一些重要知识点解析整理

    Android Activity 的四种启动模式 管理Activity的生命周期 Android入门:Activity四种启动模式 Android Intent Android中Intent传递对象的两种方法(Serializable,Parcelable) 评论 29,85,96 序列化: ...

    Android Activity LaunchMode 验证

    首先,我们需要理解Activity的四种LaunchMode: 1. **standard**(默认模式):每个启动请求都会创建一个新的Activity实例。如果栈中已有该Activity,也会创建新的实例并压入栈顶。 2. **singleTop**:如果新启动...

    android Activity启动模式(launchMode)

    一、Activity启动模式概述 Activity的启动模式主要分为四种: 1. standard(标准模式):每次启动都会创建一个新的Activity实例,不论栈中是否存在该Activity。 2. singleTop(栈顶复用模式):如果新启动的Activity...

    android中launchMode四种启动方法详解.pdf

    本篇主要介绍Android中的四种启动模式:standard、singleTop、singleTask和singleInstance,并通过具体示例进行解析。 1. **standard模式**:这是Activity的默认启动模式。在这种模式下,每当有新的Intent启动...

    Activity四种启动模式

    本文将深入探讨Activity的四种启动模式:标准模式(Standard)、单实例模式(SingleInstance)、单任务模式(SingleTask)和单栈顶模式(SingleTop),并结合博客《Activity四种启动模式》中的内容进行详细解释。...

    android中的Activity启动方式

    Activity启动模式设置: <activity android:name=".MainActivity"android:launchMode="standard" /> Activity的四种启动模式: 1.standard 模式启动模式,每次激活Activity时都会创建Activity,并放入任务栈中。 ...

    Android Activity 的四种启动模式 lunchMode 和 Intent.setFlags()

    ### Android Activity 的四种启动模式与 Intent.setFlags()详解 #### 一、Android Activity 四种启动模式 在 Android 应用开发中,Activity 是构成应用的基本单元之一,它负责显示用户界面并处理用户交互。为了更...

    Activity四种启动模式Demo

    理解并掌握这四种启动模式对于优化Android应用的用户体验和内存管理至关重要,因为它们直接影响到Activity的生命周期和任务栈的管理。 通过研究这个Demo,开发者可以深入理解Activity的启动过程,学习如何根据应用...

    Android launchMode学习例子

    本篇将深入探讨Android `launchMode`的四种模式:标准模式(standard)、单实例模式(singleInstance)、单任务模式(singleTask)以及单栈顶模式(singleTop),并结合代码实例进行讲解。 1. **标准模式(standard...

    Android Activity的四种启动模式及其应用场景

    在Android应用开发中,Activity是用户界面的主要载体,它的启动模式是决定Activity如何启动和运行的关键因素。...通过这种方式,开发者能够更好地掌握Activity启动模式的使用,提高应用的健壮性和用户体验。

    activity的四种启动模式和onNewIntent的关系

    为了更好地控制Activity的生命周期以及如何在多个Activity之间进行切换,Android提供了四种不同的启动模式。这四种模式分别是:`standard`、`singleTop`、`singleTask`和`singleInstance`。此外,为了更好地处理多个...

    activity四种启动模式demon

    总之,理解并熟练掌握Activity的四种启动模式是Android开发的基础,这有助于我们设计出更高效、更符合用户预期的应用。通过不断的实践和学习,我们可以更好地利用这些模式来提升应用的用户体验。

    android的Activity启动模式

    本文将深入探讨Android的四种Activity启动模式:标准模式(Standard)、单实例模式(SingleInstance)、单任务模式(SingleTask)和单栈顶模式(SingleTop),并结合实际代码示例进行详细解析。 1. 标准模式...

    Activity 四种启动模式详细介绍

    Activity 四种启动模式详细介绍 ...Activity启动模式设置: <activity android:name=.MainActivity android:launchMode=standard> <activity android:name=.MainActivity android:launchMode

    android activity启动模式详解

    本文将详细讲解四种主要的Activity启动模式:standard、singleTop、singleTask以及singleInstance,并通过实际案例分析它们的应用场景。 1. standard(标准模式) standard是最常见的启动模式,每个启动请求都会...

    Activity跳转 四种跳转方式

    ### Activity跳转的四种方式详解 #### 一、标准模式(Standard) ...通过以上四种不同的启动模式,开发者可以根据实际需求灵活地控制Activity的实例化和生命周期,从而实现更加高效和符合预期的应用行为。

    Android编程中Activity的四种启动模式

    本文实例讲述了Android编程中Activity的四种启动模式。分享给大家供大家参考,具体如下: Activity启动方式有四种,分别是: standard singleTop singleTask singleInstance 可以根据实际的需求为Activity设置对应的...

    Android Activity LaunchMode Test

    当从standard Activity启动singleTop Activity时,根据不同的LaunchMode,观察Activity实例数量和onNewIntent()的调用情况。 4. **实际应用** - **standard**:适用于没有特定启动需求的Activity,如常见的导航...

    Activity启动模式实验代码

    一、Activity启动模式概述 1. **标准模式(Standard)**:这是Activity的默认启动模式,每次启动都会创建一个新的实例,无论是否已在栈中存在。因此,同一个Activity可能会有多个实例。 2. **单实例模式...

Global site tag (gtag.js) - Google Analytics