Java 在整个应用程序中保存状态片段

Java 在整个应用程序中保存状态片段,java,android,android-fragments,Java,Android,Android Fragments,问题是,我们有大约10个片段需要在后端的基础上显示。每当我们将片段从一个切换到另一个时,我们都需要存储该片段的状态。这些片段不仅包含复杂的视图逻辑,还包含业务逻辑 例如: 我们有3个片段f1,f2,f3 我们通过按f1中的“下一步”按钮从f1->f2切换 f1的状态被添加到backback 我们再次通过按f2中的“下一步”按钮从f2->f3切换 f2的状态被添加到backback 现在,当我们想从f3转到f2时,按下f3中的previous按钮即可。 因为国家一直在跟踪。通过弹出backstac

问题是,我们有大约10个片段需要在后端的基础上显示。每当我们将片段从一个切换到另一个时,我们都需要存储该片段的状态。这些片段不仅包含复杂的视图逻辑,还包含业务逻辑

例如: 我们有3个片段f1,f2,f3

我们通过按f1中的“下一步”按钮从f1->f2切换 f1的状态被添加到backback

我们再次通过按f2中的“下一步”按钮从f2->f3切换 f2的状态被添加到backback

现在,当我们想从f3转到f2时,按下f3中的previous按钮即可。 因为国家一直在跟踪。通过弹出backstack返回状态

现在,与问题相比,我们再次希望从f2->f3切换,我们需要保留f3状态,因为f3以前访问过,当我们尝试这样做时,片段正在重新创建,所有视图和业务逻辑及状态都丢失了

尝试过的事情:

  • 试图将各州保留在地方偏好上,但最终花费巨大 用于将数据包保存和检索为的内存块和cpu电源 数据量很大,包括视图和一些业务逻辑
  • 我们创建了一个将片段保存为列表的单例模式 并迭代它们,但不是恢复状态,而是 碎片正在重新生成,而且资源也很重
  • 已尝试查看寻呼机,已禁用左/右滑动功能,状态为 已保留无法在片段中切换片段,需要 首先添加新的片段,这是我们无法完成的 要在片段(如2-3)中显示的片段列表。几乎大部分 需要更改代码基的长度,这可能会改变位稳定性 &应用程序行为的功能

  • 是否所有片段都存在于同一活动中?共享您的代码是所有片段都存在于同一活动中@Altoyyr@suneel代码库很大,无法在此处共享,如果所有片段都在同一活动中创建,是否有可能创建一个包含片段所需的所有信息的数据类,并在创建片段时将其传递给它们?然后,您可以读取和写入数据对象,数据对象将与活动一样长时间存在。