Fragment Backstacks如何持久以及如何恢复它们?

时间:2014-05-21 19:33:31

标签: android android-fragments android-activity back-stack android-nested-fragment

我有一些相关的问题,关于片段后台在android中是如何存在的,当它们丢失时,如何恢复它们。

场景1:片段F具有复杂的嵌套片段UI,具有关联的backstack(即,可通过getChildFragmentManager()。popBackStack()访问)。在根级别,调用FragmentTransaction.replace()将F替换为G.稍后,事务被反转,并插入F(据我所知,如果未保留则创建)。 F的childManager的backstack是什么状态?如果它是空的,我怎么能最好地存储它来恢复它,让F处于完全相同的状态?

场景2:活动1通过startActivity()启动活动2。用户在活动2中完成,后退按钮在活动1中完成(或者可能通过onActivityResult()返回)。 Activity 1的片段backstack的状态是什么(对于getFragmentManager()或getSupportFragmentManager(),如果是支持库FragmentActivity)?如果答案是背板现在是空的:活动1怎样才能最好地保存它的后台来恢复它,以便活动处于与它离开时完全相同的状态?

场景3:与场景2相同,但现在处理活动中的片段及其childManager的后台堆栈(如1)。

我希望了解最坏的情况 - 即事情“可能仍在记忆中”,但它们可能已经消失了吗?等

0 个答案:

没有答案