`
cuixuxucui
  • 浏览: 351879 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

android Activity LaunchMode

 
阅读更多

Activity LaunchMode

 

Mainfest.xml

<activity

   android:launchMode = "singleTask"

   

1.standard标准模式

默认模式,每次启动都会创建新的实例,onCreate,onStart,onResume都会被调用。谁启动了这个Activity,这个Activity就运行在启动它的那个Activity所在的栈中。

2.singleTop

如果已经位于栈顶,则不会被创建,onCreate,onStart并不会被调用。如果不在栈顶,仍然会新创建。

singleTop适合接收通知启动的内容显示页面。例如,某个新闻客户端的新闻内容页面,如果收到10个新闻推送,每次都打开一个新闻内容页面是很烦人的。

App程序中(或浏览器中)保存的书签,假如用户看到一个界面保存自己喜欢的标签,假如要保存10个,这个时候用户在返回键的时候,则会返回10次才能返回到App应用中, Android下singleTop 则解决该问题。

3.singleTask

如果不在栈顶,会把所有上面的全部出栈。

singleTask适合作为程序入口点。例如浏览器的主界面。不管从多少个应用启动浏览器,只会启动主界面一次,其余情况都会走onNewIntent,并且会清空主界面上面的其他页面。

如果一个App中,有一个功能需要加载网页内容,打开一个browserActiviy现在网页内容,则内存开销非常大,首先要初始化webkit /c++ 嵌入式浏览器内核broweractivity 配置了singleTask,空间换时间,使用该模式可以节省内存开销。

4.singleInstance

实际上启动了一个新的栈,由于栈内复用特性,后续请求均不会创建新的activity,除非这个任务栈被系统销毁。假如B是singleInstance。当A启动B时,新开了一个栈。B又启动C时,C会在A上面。这样当C按BACK时,会看到栈下面的A。然后A再按BACK,因为其栈已经清空,此时会看到B。

singleInstance适合需要与程序分离开的页面。例如闹铃提醒,将闹铃提醒与闹铃设置分离。singleInstance不要用于中间页面,如果用于中间页面,跳转会有问题,比如:A -> B (singleInstance) -> C,完全退出后,在此启动,首先打开的是B。

App各种词典,向有道词典,什么金山词典,说极端是因为不想被放置到同一个任务栈里面,它是全局的系统程序应用,达到节省内存的使用目的。

参考http://bbs.9ria.com/thread-258213-1-1.html

分享到:
评论

相关推荐

    Android Activity LaunchMode Test

    LaunchMode是Android系统中Activity的一项重要属性,用于控制Activity的启动行为。理解并熟练掌握Activity的LaunchMode对于优化应用性能和实现预期的用户体验至关重要。本文将深入探讨Android Activity的LaunchMode...

    Android Activity LaunchMode例子

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

    Android Activity LaunchMode

    在Android应用开发中,`Activity`是用户界面的主要载体,而`LaunchMode`则是控制`Activity`启动行为的重要属性。`LaunchMode`定义了当用户点击应用图标或者通过其他方式启动`Activity`时,系统如何管理和创建`...

    Android Activity LaunchMode 验证

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

    Activity的launchMode

    在Android应用开发中,`Activity`是用户界面的基本单元,而`launchMode`是每个`Activity`在AndroidManifest.xml文件中可配置的一个重要属性。它决定了`Activity`如何被启动和在任务栈中的行为,对应用的流程控制起着...

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

    Activity 的启动模式(android:launchMode) Android Activity 的四种启动模式 管理Activity的生命周期 Android入门:Activity四种启动模式 Android Intent Android中Intent传递对象的两种方法...

    android Activity启动模式(launchMode)

    在Android应用开发中,Activity是用户界面的基本单元,它的启动模式(launchMode)是一个非常重要的概念,它决定了当用户点击应用图标或者从其他地方启动Activity时,系统如何管理和创建Activity实例。理解并合理...

    Android launchMode学习例子

    在Android应用开发中,`launchMode`是Activity的重要属性,它定义了系统如何启动和管理Activity实例。通过设置不同的`launchMode`,开发者可以控制Activity的行为,以满足不同场景的需求。本篇将深入探讨Android `...

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

    在Android开发中,Activity的启动模式(launchMode)是一个关键概念,它决定了当用户通过Intent启动一个Activity时,系统如何管理Activity的实例。本篇主要介绍Android中的四种启动模式:standard、singleTop、...

    Activity的launchMode测试

    在Android应用开发中,`Activity`是用户界面的基本单元,`launchMode`是每个`Activity`在`AndroidManifest.xml`中可配置的一个重要属性。它决定了`Activity`启动时的行为方式,对应用的流程和用户体验有直接影响。本...

    android activity启动模式详解

    在Android应用开发中,Activity是用户界面的基本单元,它的启动模式是决定Activity如何启动和运行的关键因素。了解和掌握不同的Activity启动模式对于优化应用程序的行为至关重要。本文将详细讲解四种主要的Activity...

    Android LaunchMode启动方法

    启动模式可以通过在AndroidManifest.xml文件中为Activity配置`android:launchMode`属性来指定: ```xml &lt;activity android:name=".ActB" android:launchMode="singleTask"&gt; &lt;/activity&gt; ``` 此外,也可以在IDE...

    Android LaunchMode详解Demo

    在Android应用开发中,`LaunchMode`是一个至关重要的概念,它决定了Activity如何启动以及与任务栈(Task Stack)之间的交互。本篇文章将深入探讨`LaunchMode`的不同模式及其实际应用场景,通过实例`LaunchModeDemo`...

    android中的Activity启动方式

    &lt;activity android:name=".MainActivity"android:launchMode="standard" /&gt; Activity的四种启动模式: 1.standard 模式启动模式,每次激活Activity时都会创建Activity,并放入任务栈中。 2.singleTop 如果在...

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

    总结来说,理解Activity的生命周期、熟练运用launchMode以及正确使用onActivityResult方法,对于编写稳定、高效、用户体验良好的Android应用至关重要。通过实际的代码测试和实验,开发者可以更好地掌握这些核心概念...

    Android 改变Activity切换方式

    另外,我们还可以通过修改AndroidManifest.xml中Activity的`android:launchMode`属性来全局设定Activity的启动模式,它有四个可选值: 1. `standard`(默认):每次启动都会创建新的Activity实例。 2. `singleTop`...

    android LaunchMode测试实例

    在Android应用开发中,`LaunchMode`是一个至关重要的概念,它定义了Activity如何启动和在任务栈中的行为。本测试实例将深入探讨Android的四种不同的`LaunchMode`:标准模式(standard)、单实例模式(singleInstance...

    Android Activity设置相同的action进行判断源码.rar

    但开发者可以通过设置`android:launchMode`属性避免这种情况,例如使用“singleTask”或“singleTop”模式,这样只有一个Activity实例会被启动或重用。 4. **源码分析**:压缩包中的"Android Activity设置相同的...

    Android activity属性设置大全.doc

    11. android:launchMode=["multiple" | "singleTop" | "singleTask" | "singleInstance"] 定义了activity如何启动和在任务栈中的行为。"standard"是最常见的,每次启动都会创建新的实例;"singleTop"表示如果栈顶已...

    android Activity加载方式

    通过在AndroidManifest.xml中activity元素的`android:launchMode`属性设置Activity的加载模式。例如,将ActA设置为singleTop模式: ```xml &lt;activity android:name=".ActA" android:launchMode="singleTop"&gt; &lt;/...

Global site tag (gtag.js) - Google Analytics