`
xym_love
  • 浏览: 114787 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Android中的Activity四种启动模式(launchMode)

 
阅读更多

我 们在开发项目的过程中,会涉及到该应用中多个Activity组件之间的跳转,或者夹带其它应用的可复用的Activity。例如我们可能希望跳转到原来 某个Activity实例,而不是产生大量重复的 Activity。这样就需要我们为 Activity 配置特定的加载模式,而不是使用默认的加载模式。

Activity 有四种加载模式

[1] standard 模式

     这是默认模式,每次激活Activity时都会创建Activity实例,并放入任务栈中。


[2] singleTop 模式

     如果在任务的栈顶正好存在该Activity的实例,就重用该实例( 会调用实例的 onNewIntent() ),否则就会创建新的实例并放入栈顶,即使栈中已经存在该Activity的实例,只要不在栈顶,都会创建新的实例。


[3] singleTask 模式

     如果在栈中已经有该Activity的实例,就重用该实例(会调用实例的 onNewIntent() )。重用时,会让该实例回到栈顶,因此在它上面的实例将会被移出栈。如果栈中不存在该实例,将会创建新的实例放入栈中。


[4] singleInstance 模式

     在一个新栈中创建该Activity的实例,并让多个应用共享该栈中的该Activity实例。一旦该模式的Activity实例已经存在于某个栈 中,任何应用再激活该Activity时都会重用该栈中的实例( 会调用实例的 onNewIntent() )。其效果相当于多个应用共享一个应用,不管谁激活该 Activity 都会进入同一个应用中。


设置启动模式的位置在 Android Manifest.xml 文件中 Activity 元素的 android :launchMode 属性

分享到:
评论

相关推荐

    android Activity启动模式(launchMode)

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

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

    为了更好地控制 Activity 的启动方式以及它们在任务栈中的行为,Android 提供了四种不同的启动模式,即 `standard`、`singleTop`、`singleTask` 和 `singleInstance`。这些启动模式可以通过在 AndroidManifest.xml ...

    Activity四种启动模式Demo

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

    Activity四种启动模式

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

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

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

    android之activity的生命周期和launchMode、onActivityResult方法的作用

    它有四种模式:标准模式(standard)、单实例模式(singleInstance)、单任务模式(singleTask)和单栈顶模式(singleTop)。标准模式是最常见的,每个启动请求都会创建一个新的Activity实例。单实例模式下,只有一...

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

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

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

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

    Android Activity LaunchMode 验证

    在Android应用开发中,Activity是用户界面的基本单元,而LaunchMode是控制Activity启动行为的关键配置。本主题将深入探讨Android Activity的LaunchMode,以及如何通过分析AndroidManifest.xml和实际编码来验证其工作...

    activity四种启动模式demon

    本文将深入探讨Activity的四种启动模式,旨在帮助你更好地理解它们的工作原理,并能灵活运用到实际项目中。 首先,我们来看看Activity的启动模式有哪些: 1. **标准模式(Standard)**:这是默认的启动模式,每次...

    android activity启动模式详解

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

    android中的Activity启动方式

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

    四种launchMode例程

    在Android应用开发中,`launchMode`是定义Activity启动行为的关键属性,它直接影响到Activity的实例数量、回退栈管理以及整个应用的导航流程。在AndroidManifest.xml中为Activity设置不同的launchMode,可以实现特定...

    Android Activity LaunchMode例子

    在Android应用开发中,Activity是用户界面的基本单元,而LaunchMode是控制Activity启动行为的关键设置。本篇文章将深入探讨Android的Activity LaunchMode,并通过LunchModeDemo示例代码进行详细解释。 1. Activity ...

    Android Activity LaunchMode Test

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

    详解Android开发中Activity的四种launchMode

    这是Activity的默认启动模式。每当通过Intent启动一个Activity,系统都会创建一个新的实例,无论这个Activity是否已经在任务栈中存在。这意味着每次点击按钮,FirstActivity都会创建一个新的实例并添加到栈顶,...

    android的Activity启动模式

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

    Android各种超炫特效 Activity启动模式

    本篇文章将深入探讨Android中的四种主要Activity启动模式:标准模式(Standard)、单实例模式(SingleTop)、单任务模式(SingleTask)和单栈顶模式(SingleActivity)。 1. **标准模式(Standard)**:这是...

Global site tag (gtag.js) - Google Analytics