如何为Android应用程序维护活动堆栈?

时间:2015-11-05 18:36:57

标签: android android-activity activity-stack

我是Android编程的新手。

我想了解如何为特定的Android应用程序维护活动堆栈,以及它如何根据用户导航进行更改。

例如,如果有多个活动,那么当用户点击后退按钮或主页按钮或启动新活动时,活动堆栈的行为如何?

我试图找到一个合适的帖子,我可以获得所有信息,但我没有得到任何信息。有人可以建议我一些链接/帖子,我可以从中学到这些吗?

谢谢!

编辑:

到目前为止我遇到的链接/帖子:

  1. onSaveInstanceState is not saving my values ( onCreate input Bundle is always null )

  2. Saving Android Activity state using Save Instance State

  3. Android: Launch mode 'single instance'

1 个答案:

答案 0 :(得分:2)

你的意思是活动和后台吗?

这是一个链接: http://developer.android.com/guide/components/tasks-and-back-stack.html

任务是用户在执行特定作业时与之交互的活动的集合。活动按堆栈(后堆栈)排列,按每个活动打开的顺序排列。

设备主屏幕是大多数任务的起始位置。当用户触摸应用程序启动器中的图标(或主屏幕上的快捷方式)时,该应用程序的任务将到达前台。如果应用程序不存在任务(最近未使用该应用程序),则会创建一个新任务,该应用程序的“主”活动将作为堆栈中的根活动打开。

当当前活动开始另一个活动时,新活动将被推到堆栈顶部并获得焦点。之前的活动仍在堆栈中,但已停止。当活动停止时,系统将保留其用户界面的当前状态。当用户按下“返回”按钮时,当前活动将从堆栈顶部弹出(活动被销毁),之前的活动将恢复(其UI的先前状态将恢复)。堆栈中的活动永远不会重新排列,只能在当前活动启动时从堆栈中推送并弹出到堆栈中,并在用户使用“返回”按钮离开时弹出。因此,后堆栈作为“后进先出”对象结构操作。图1显示了这种行为,时间轴显示了活动与每个时间点当前返回堆栈之间的进度。

enter image description here