我有一个仪表板Activity
和一个用户Activity
。在仪表板中的每个操作上,我将开始用户Activity
使用startActivity(
)。如果用户按下用户中的后退按钮,Activity
我想Activity
再次显示仪表板。请给出实现这一点的指导方针,当仪表板Activity
因内存不足而被杀死时也应该处理。
问问题
96 次
1 回答
0
Android 框架会为您解决这个问题。当您调用startActivity()
它时,它将新活动推送到当前任务的堆栈顶部(除非您调整启动模式或设置意图标志)
当用户按下返回时,它将当前活动从堆栈中弹出并返回到前一个活动。
如果框架杀死了任何先前的活动,它们将被重新创建。如果您在这些活动中有任何您仍然需要的实例数据,您应该覆盖onSaveInstanceState()
以存储它并onRestoreInstanceState()
恢复它(系统视图中分配了 id 的数据会自动保存/恢复)。
有关详细信息,请参阅任务和后台堆栈。
唯一可能棘手的部分是,如果您通过意图跳转到用户页面上的应用程序,但仍想返回仪表板,则需要确保通过TaskStackBuilder
.
于 2013-04-26T04:40:24.623 回答