launchMode】的更多相关文章

Android Activity launchMode研究 Activity的Launch mode一共有四种: standard, singleTop, singleTask, singleInstance, 默认情况下是standard.   四种启动模式分为两组 Activity的这四种启动模式可以分为两组: standard和singleTop是一组, 这两种模式标记的activity可以有多个实例(被初始化多次), 这些实例可以属于任何task, 并且可以被放在activity sta…
(本文转自:http://www.eoeandroid.com/blog-531377-3446.html) (详细查看:http://blog.csdn.net/liuhe688/article/details/6754323) 说明一下,大家看这个帖子之前对Task,有一定的了解.而且看完这个之后,最好再看看taskAffinity属性,因为在实际应用中他们一般是联合使用的. 在Android的中Activity有4种启动方式:"standard"."singleTop&…
转自:http://blog.csdn.net/liuhe688/article/details/6754323/ Activity的四种launchMode. launchMode在多个Activity跳转的过程中扮演着重要的角色,它可以决定是否生成新的Activity实例,是否重用已存在的Activity实例,是否和其他Activity实例公用一个task里.这里简单介绍一下task的概念,task是一个具有栈结构的对象,一个task可以管理多个Activity,启动一个应用,也就创建一个与…
在Android里,有4种Activity的启动模式并分别介绍下: standard singleTop singleTask singleInstance AndroidManifest.xml配置android:launchMode属性 1.standard: 默认启动模式. 每次都会创建一个实例,每个任务栈里面都可以使用. 2.singleTop: 系统会按照singleTop启动模式处理跳转行为.跳转时系统会先在栈结构寻找是否有一个Activity实例正位于栈顶,如果有则不在生成新的,而…
模式介绍 [1] standard 模式 这是默认模式,每次激活Activity时都会创建Activity实例,并放入任务栈中. [2] singleTop 模式 如果在任务的栈顶正好存在该Activity的实例,就重用该实例( 会调用实例的 onNewIntent() ),否则就会创建新的实例并放入栈顶,即使栈中已经存在该Activity的实例,只要不在栈顶,都会创建新的实例. [3] singleTask 模式 如果在栈中已经有该Activity的实例,就重用该实例(会调用实例的 onNew…
来源:http://blog.csdn.net/liuhe688/article/details/6754323/ 我们今天要讲的是Activity的四种launchMode. launchMode在多个Activity跳转的过程中扮演着重要的角色,它可以决定是否生成新的Activity实例,是否重用已存在的Activity实例,是否和其他Activity实例公用一个task里.这里简单介绍一下task的概念,task是一个具有栈结构的对象,一个task可以管理多个Activity,启动一个应用…
转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/53221384本文出自[DylanAndroid的博客] 在平时的开发中,我们可能会了解到Activity的任务栈还有Activity的启动模式.那么Activity的启动模式都分别是怎么样的呢?如果设置了这些启动模式对任务栈有事么影响 ,还有就是这么启动模式在实际的开发中有什么应用呢?这里用图例和demo来分析一下Activity的启动模式. Demo图  1.Standar…
Activity一共有以下四种launchMode: standard singleTop singleTask singleInstance 1.standard standard模式是默认的启动模式,不用为<activity>配置android:launchMode属性即可,当然也可以指定值为standard. 我们将会一个Activity,命名为FirstActivity,来演示一下标准的启动模式.FirstActivity代码如下: package com.scott.launchmo…
launchMode在多个Activity跳转的过程中扮演着重要的角色,它可以决定是否生成新的Activity实例,是否重用已存在的 Activity实例,是否和其他Activity实例公用一个task里.这里简单介绍一下task的概念,task是一个具有栈结构的对象,一个 task可以管理多个Activity,启动一个应用,也就创建一个与之对应的task. Activity一共有以下四种launchMode: 1.standard 2.singleTop 3.singleTask 4.sing…
本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! Activity的lauchmode,是基础的属性,但也是App优化必须掌握的知识,它约束了Activity生命周期中各个方法的使用.做了许多个项目,对此有一点小小的总结,希望对大家能有些许帮助. 先讲一个概念性问题,AndroidManifest.xml中对Activity启动模式的定义android:launchMode="",有四个值可选,分别是:standard,singleTa…
android:launchMode An instruction on how the activity should be launched. There are four modes that work in conjunction with activity flags (FLAG_ACTIVITY_* constants) in Intent objects to determine what should happen when the activity is called upon…
在android里,有4种activity的启动模式,分别为: “standard” (默认) “singleTop” “singleTask” “singleInstance” 它们主要有如下不同: 1. 如何决定所属task “standard”和”singleTop”的activity的目标task,和收到的Intent的发送者在同一个task内,除非intent包括参数FLAG_ACTIVITY_NEW_TASK. 如果提供了FLAG_ACTIVITY_NEW_TASK参数,会启动到别的…
launchMode是很基础但是也很容易被忽视的问题,一个高性能的手机App不仅仅是代码完成的非常棒,也包括launchMode的合理使用.一个应用中,到底哪些Activity应该始终保持一个实例,哪些可以多次实例化,哪些要与其他应用共同分享使用,下面我们来慢慢分析. 1.standard standard是标准启动模式,也是默认启动模式,这种情况下,不管当前Back Stack(回退栈)中有没有要启动的Activity实例,系统 都会将一个新的Activity实例放在栈顶.假设我们现在有两个A…
合抱之木,生於毫末:九層之台,起於累土:千里之行,始於足下.<老子> 今天在社区看到有朋友问“如何在半年内成为顶级架构师”,有网友道“关灯睡觉,不用半年的...”,的确,做梦还来的快一些.作为一个程序员,树立远大的目标是值得欣赏的,但不能只去空想,要一步一步地实践才行.成大事者,须从小事做起:万事起于忽微,量变引起质变. 我们今天要讲的是Activity的四种launchMode. launchMode在多个Activity跳转的过程中扮演着重要的角色,它可以决定是否生成新的Activity实…
最近项目开发中用到了android:launchMode="singleTask" 和 onNewIntent(Intent intent)两个特性,现总结一下经验: android:launchMode="singleTask" 配置在 Mainifest 中,它保证了栈中此Activity总是只有一个,无论你启动它多少次; onNewIntent(Intent intent) 是Override Activity的父类方法,只有仅在点Home键退出Activit…
更多内容在这里查看 https://ahangchen.gitbooks.io/windy-afternoon/content/ 总共有四篇关于Activity,task,launchMode的文章,可以在我的博客中查看,或者在文章底部点下一篇. 1.Standard 默认模式,多次实例化,按序入栈出栈. 2.SingleTop 栈顶Activity不会被重复创建,会触发onNewIntent()事件,不在栈顶时可以多次实例化. 3.SingleTask Developer.android.co…
昨天在自己的项目中用到了onActivityResult()方法获得activity的返回值.我从Activity01通过 startActivityForResult启动了Activity02和Activity03.在不设置launchMode的情况下,两个 activity都能传回值.但是如果设置launchMode=“singleTask”,就不行了.官方文档给出的说明是 For example, if the activity you are launching uses the sin…
此链接:http://blog.csdn.net/xiaodongrush/article/details/28597855 1. 有哪几种类型?分别有什么用? http://developer.android.com/guide/components/tasks-and-back-stack.html standard,创建一个新的Activity. singleTop,栈顶不是该类型的Activity.创建一个新的Activity.否则.onNewIntent. singleTask,回退栈…
Activity1 到Activity2 用startActivityForResult 如果Activity2的launchMode为 singleInstance 和 singleTask 都会启动失败. Activity1的launchMode为singleInstance也会启动失败.singleTask可以 用startActivity就两边都可以随便设置…
onNewIntent(Intent intent). 的调用时候.  当启动一个activity时候,如果launchMode是singletop. 或者 singletask,活着singleInstance,时候. 就有机会调用这个方法. 如果没调用,则会是正常的创建activity的生命周期.onCreate(); launchMode 的发射模式: standard,singleTop,singleTask,singleInstance. 任务栈注意地方: 有界面1和界面2.  界面1…
launchMode,通俗点说,就是定义了Activity应该如何被launch的.那么这几种模式的区别以及应用场景,会有何不同呢?谷歌是基于什么原因设计这几种模式的呢?这几种模式背后的工作原理是什么呢? 1. 任务和返回栈 在讲解launchMode之前,先说说任务(Task)和返回栈(Back Stack,有些译作回退栈.任务栈)这两个概念. A task is a collection of activities that users interact with when performi…
Activity有四种加载模式: standard singleTop singleTask singleInstance 配置加载模式的位置在AndroidManifest.xml文件中activity元素的launchMode属性: <activity android:launchMode** ="singleTask"></activity> standard standard模式,也就是默认模式,不需要配置launchMode.就是每次跳转时都需要创建该…
(1) FLAG_ACTIVITY_NEW_TASK: 操作: Activity A启动开僻Task堆栈(堆栈状态: A), 在Activity A中启动Activity B, 启动Activity B的Intent的Flag设为 FLAG_ACTIVITY_NEW_TASK, Activity B被压入Activity A所在堆栈(堆栈状态: AB).  原因: 默认情况下同一个应用中的所有Activity拥有相同的关系(taskAffinity). b. 前提: Activity A在名称为…
Activity栈主要用于管理Activity的切换.当使用Intent跳转至某个目标Activity,需要根据目标Activity的加载模式来加载. Activity一共有以下四种launchMode: 1.standard:默认,每次使用Intent跳转到目标Activity时都创建一个新的实例.坏处是每次进入都要创建新的实例,执行OnCreate方法. 2.singleTop:如果要跳转的目标Activity正好在task的顶部(说明当前肯定不在目标task里,例如我在微信首页,然后想使用…
在Android系统中,一个application的所有Activity默认有一个相同的affinity(亲密关系,相似之处).也就是说同一个应用程序的的所有Activity倾向于属于同一个task.但是我们并不能说Android里一个应用程序只有一个任务栈.笔者今天针对当taskAffinity不同时,四种launchMode下在打开一个新的Activity时是否会建立一个新的任务栈做了实验. 基本的代码如下: AndroidManifest.xml: MainActivity的代码 pack…
本文转自: http://marshal.easymorse.com/archives/2950. 写的非常好,分享给大家!!! 在多Activity开发中,有可能是自己应用之间的Activity跳转,或者夹带其他应用的可复用Activity.可能会希望跳转到原来某个Activity实例,而不是产生大量重复的Activity. 这需要为Activity配置特定的加载模式,而不是使用默认的加载模式. 加载模式分类及在哪里配置 Activity有四种加载模式: standard singleTop…
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina.com 任务栈 启动模式 Task Flag launchMode MD 目录 目录任务栈Activity的四种启动模式基本概念Intent中常用的FlagtaskAffinity属性任务栈简单了解 任务栈 Activity的四种启动模式 Activity启动模式有四种,可以根据实际的需求为Act…
本文链接:http://blog.csdn.net/xiaodongrush/article/details/28597855   1. 有哪几种类型?分别有什么用? http://developer.android.com/guide/components/tasks-and-back-stack.html standard,创建一个新的Activity. singleTop,栈顶不是该类型的Activity,创建一个新的Activity.否则,onNewIntent.singleTask,回…
Activity启动模式是非常重要的一块内容,启动模式直接关系到用户的体验 和 性能的提升等 Activity启动模式分为四种: 如果不配置:launchMode,默认就是:standard 标准的 standard 标准的 singleTop 独占顶端 singleTask 单任务 singleInstance 单实例 standard 标准的,特点是:启动一个Activity就进栈一个Activity,启动六个Activity就进栈六个Activity singleTop 独占顶端,特点是N…
初学android的开发人员,可能会经常忽略这个重要的设置. Activity一共有以下四种launchMode:1.standard2.singleTop3.singleTask4.singleInstance我们可以在AndroidManifest.xml配置<activity>的android:launchMode属性为以上四种之一即可. 总结说明: 0 standard ----标准,每次打开同一个activtiy页面都会在堆栈创新新的实例,默认就是这个 1 singleTop ---…