标签:
一个应用程序通常包含多个活动。每个活动应围绕行动的用户可以执行,并且可以启动其他活动的特定种类进行设计。例如,电子邮件应用程序可能具有一个活动,以显示新的消息的列表。当用户选择一个信息,一个新的活动打开,以查看该消息。当电流活动开始另一个新的活动推到堆栈的顶部和获得焦点。在先前的活动保持在栈,但已停止。当一个活动停止时,系统保持其用户接口的当前状态。当用户按下返回按钮,当前的活动,从堆栈的顶部弹出(活性被破坏)和前一活动恢复(其UI的先前状态被恢复)。在堆栈中的活动永远不会重新排列,只推和弹出堆栈推时,由当前的活动开始,当用户离开它使用后退按钮弹出到堆栈中。因此,回堆栈操作为“后进先出”的对象结构。图1可视化与示出具有在每个时间点的电流背面叠层沿活动之间的进度时间表此行为。
如果用户继续按下后退,则在栈每个活动被弹出以显示前一个,直到用户返回到主屏幕(或取其活性运行时,任务开始)。当所有的活动都从堆栈??中移除,任务不再存在。
图2.两个任务:任务B接收在前台用户交互,而任务A是在后台,等待被恢复。
不管活动是否在一个新的任务或在同一任务,启动它的活动开始,后退按钮始终把用户以前的活动。但是,如果你开始指定singleTask启动模式的活动,则该活动的一个实??例,在后台任务存在,那整个任务带到前台。在这一点上,回栈现在包括从任务的所有活动提出,在堆栈的顶部。图4显示了这种类型的场景。
<activity ... > <intent-filter ... > <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> ... </activity>
Android API Guides---Tasks and Back Stack
标签:
原文地址:http://blog.csdn.net/qq_21413973/article/details/51134093