按下主页按钮的Android恢复UI状态?

时间:2015-12-24 13:15:22

标签: android android-activity activity-stack

我有两项活动,A和B.

我的应用从A到B.(A - > B)。

当我在B上并按下后退按钮(硬件后退按钮)时,A的状态和UI成功恢复(正在调用onResume())。 问题是,当我按下主页按钮(操作栏箭头)时,前一个活动A调用onCreate(),因此按下后退按钮不会恢复其状态和UI。

为什么会这样?我该如何解决?

2 个答案:

答案 0 :(得分:0)

当你点击ActionBar上的向上按钮时,似乎你创建了一个活动A的新实例,而不是回到已经存在的活动A.

您应该覆盖按下按钮时调用的侦听器,并在活动B上调用finish()。因此,行为与按设备的后退按钮相同。

答案 1 :(得分:0)

http://developer.android.com/training/basics/activity-lifecycle/recreating.html

Google在开发者网站上进行了很好的讨论。无论何时离开应用程序,您都必须保存重新创建活动A的最后状态所需的信息,因为系统可以在关闭后随时从缓存中删除您的应用程序。因此,将重要的数据库密钥等保存到系统上的文件中,并使用重新加载活动所需的密钥。这也将为您处理方向更改。重要的生命周期方法是onPostResume来恢复状态,onStop和onDestroy来保存状态。

了解活动生命周期。