我有一个信息中心Activity
和一个用户Activity
。在仪表板中的每个操作中,我将使用Activity
启动用户startActivity(
。如果用户在用户Activity
中按下了按钮,我想再次显示信息中心Activity
。请提供实施此指南的指南,当仪表板Activity
因内存不足而被杀死时,也应处理此指南。
答案 0 :(得分:0)
Android框架将为您解决这个问题。当你调用startActivity()
时,它会将新活动推送到当前任务的堆栈之上(除非你调整启动模式或设置意图标志)
当用户按下时,它会将当前活动从堆栈中弹出并返回上一个活动。
如果框架杀死了之前的任何活动,则会重新创建它们。如果您仍然需要这些活动中的任何实例数据,则应覆盖onSaveInstanceState()
以存储它,并onRestoreInstanceState()
以恢复它(系统视图中具有已分配ID的数据会自动保存/恢复)。
有关详细信息,请参阅Tasks and the Back Stack。
唯一可能棘手的部分是,如果您通过意图跳转到用户页面上的应用程序,但仍希望返回仪表板,则需要确保通过TaskStackBuilder
准备后备堆栈