Task与Back stack

什么是Task 

·Task表示“作业”或“任务”。

·在Android系统中,执行某个任务时可能存在多个与用户产生交互的

Activity,Task则是这些Activity的容器。

Task与Activity

·执行Task的多个Activity不一定归属于同一个应用程序

·例如:使用A应用程序的Activity输入邮件的内容,却使用B应用程序(某个邮件应用程序)的

Activity发送邮件。

·执行Task的多个Activity中,可能有同一个Activity的多个实例

·例如:通过MainActivity也可以激活自身,而且可以反复操作,则可能存在

多个MainActivity的实例

什么是Back Stack

·Task使用Back Stack保存,管理各个Activity

·Back Stack表示“回退栈(后退栈)”。

·每个Back Stack最顶端(栈顶)的Activity被置于前台,称之为Foreground Activity

即“前台Activity”。

·Back Stack有压栈(Push)和出栈(pop)的操作。且遵循“”先进后出,后进先出的原则。

Task 与Back Stack

·Task作为一个容器,使用Back Stack保存,管理各个Activity

·用户在使用Android设备时,可以启动多个Task。

·每个Task都是一个有聚合力的单元,它可以在用户启动一个新的Task或按下HOME键返回桌面时整体的被置于后台。

·无论Task置于前台或后台,其Back Stack都是完整的保存的,因此,用户在执行某个Task时,另外启动了新的Task,则原来Task被置于后台,但当原来Task重新置于前台时,它的Back Stack依然存在。

时间: 2024-08-06 18:54:07

Task与Back stack的相关文章

android之Task和Back Stack(回退栈)

通常一个应用程序包括多个Activity,我们在使用程序是,一个Activity到另一个Activity,又到别的Activity,然后我们按下返回键又能按打开的顺序,倒叙返回.android中是怎么做到的?Task和Back Stack与此密不可分. Task存储了一组页面的集合,并且这个集合会被排列到一个叫Back Stack中,保存的目的在于记录Activity的打开顺序. 特点:系统会给每个程序分配唯一的Task和回退栈. 回退栈的特点:先进后出. 改变Activity的排序方式:是通过

Android task和back stack详解(官方文档翻译)

一个应用往往包含很多activities.每个activity都应围绕着用户可执行的特定动作来设计,并且可以启动其它activitie.例如,一个email应用可能可能有一个显示新邮件列表的activity.当用户选择一个邮件,一个新的activity被打开以显示邮件内容. 一个activity也可以打开同一设备上存在于其它应用的activitie,例如,如果你的应用想要发送一个邮件,你可以定义一个intent来执行一个"send"动作并包含一些数据,比如一个地址和一条信息.另一个应用

Tasks and Back Stack

1.概述 一个应用一般含有多个activity.每一个activity都是围绕着一系列用户可能执行的特定动作而设计的,并且可以从一个activity启动另外一个activity.例如,一个e-mail应用可能含有一个activity,用来显示新的邮件列表.当用户点击选择了一个邮件,一个新的activity就会被打开,用来显示邮件的具体内容. 一个activity可以启动设备上另一个应用中的activity.比如你的应用希望发送一封邮件,你可以定义一个intent,用来执行"send"的

activity和Task 有关的 Intent启动方式结合intent.setFlags()

FLAG_ACTIVITY_NEW_TASK----简而言之,跳转到的activity根据情况,可能压在一个新建的栈中. 如果设置,这个Activity会成为历史stack中一个新Task的开始.一个Task(从启动它的Activity到下一个Task中的 Activity)定义了用户可以迁移的Activity原子组.Task可以移动到前台和后台:在某个特定Task中的所有Activity总是保持相同的次序. 这个标志一般用于呈现“启动”类型的行为:它们提供用户一系列可以单独完成的事情,与启动它

Task 和 Activity 回退栈操作。

首先说一下Task是一个什么概念吧:Task是一个包含activity的列表.没 错,简单的说就是按照启动的先后来排队的一个队列.Back Stack,就是回退栈的意思:那么有什么用?Back Stack是存储一个Task的实现方式,一个容器.它具有栈的特性:后进先出. 那么,依据什么来把activity指定给某个Task? ------默认情况下,根据activity的启动的顺序,加入A启动了B,那么B默认情况下就放到了 A的Task的Back Stack里面啦.当然,你也可以去修改这一个默认

Activity、Task、应用和进程

http://www.cnblogs.com/franksunny/archive/2012/04/17/2453403.html 很想弄清楚启动一个Activity和Task(任务)的关系,网上也有很多相关资料,由从源码来具体分析的,也有针对launchmode来分析,但都不是自己的,理解起来总不是那么容易,为此,尝试着自己去理解其中的逻辑.不过事先需要弄清楚两个问题: 谁负责管理Activity? Android的framework框架中采用C/S的方式实现由后台服务ActivityMana

Activity启动模式 Tasks和Back Stack

http://www.cnblogs.com/mengdd/archive/2013/06/13/3134380.html Task是用户在进行某项工作时需要与之交互的一系列activities的集合.这些activities按照它们被打开的顺序,被安放在一个堆栈里(back stack). 一个activity甚至可以打开其他应用的activity. 比如你的应用需要发送一个电子邮件,你可以定义一个intent来执行发送动作,intent包含一些必要的数据,然后启动另一个应用中的activit

Android中Task任务栈的分配

首先我们来看下Task的定义,Google是这样定义Task的:a task is what the user experiences as an "application." It's a group of related activities, arranged in a stack. A task is a stack of activities, not a class or an element in the manifest file. 这意思就是说Task实际上是一个Ac

API翻译 --- Tasks and Back Stack

IN THIS DOCUMENT Saving Activity State  保存activity状态 Managing Tasks    管理任务 Defining launch modes 定义启动模式 Handling affinities 处理密切关系 Clearing the back stack 清除回退栈 Starting a task 启动任务 ARTICLES Multitasking the Android Way Android多任务方式 SEE ALSO Android