Android 从头开始重新创建碎片还是使用Backback?

Android 从头开始重新创建碎片还是使用Backback?,android,android-fragments,fragment-backstack,Android,Android Fragments,Fragment Backstack,我必须开发一个调查问卷应用程序,显示8个不同的屏幕布局序列,每个屏幕有不同的数据。特定的顺序取决于用户以前的响应。所以可能是这样的: A>B>B>B>C>B>B>D>D>D>D>D>D>D>E>F>F>F>F>B>B>G>F>F>F> 问题的顺序可能长达500个问题(根据要求)。当按下后退按钮时,应跳过其中一些屏幕(例如,您可能不显示一些F或一些D) 我是android新手,可能没有做出最佳选择:我有1个问卷活动和多个片段(A、B、C、D等),这些片段根据问卷逻辑和用户之前的回答连续呈现。返回是

我必须开发一个调查问卷应用程序,显示8个不同的屏幕布局序列,每个屏幕有不同的数据。特定的顺序取决于用户以前的响应。所以可能是这样的:

A>B>B>B>C>B>B>D>D>D>D>D>D>D>E>F>F>F>F>B>B>G>F>F>F>

问题的顺序可能长达500个问题(根据要求)。当按下后退按钮时,应跳过其中一些屏幕(例如,您可能不显示一些F或一些D)

我是android新手,可能没有做出最佳选择:我有1个问卷活动和多个片段(A、B、C、D等),这些片段根据问卷逻辑和用户之前的回答连续呈现。返回是通过使用backbackback来完成的。回溯然后再向前(保持正确的状态/在片段中保持正确的数据/内存问题等)有很多问题

在这一点上,应用程序已经变得如此复杂和错误,我正在考虑也许取消后台。也许我可以在前进的过程中将片段序列放入数据库中(只意味着片段的类型和一些相关的ID),然后从数据库中检索相关数据,如果按下后退按钮,则在onBackPressed方法中从头开始重新创建上一个片段。它看起来更干净,可能更不容易出现意外行为(?),特别是因为我对安卓系统缺乏经验

这是一个可以接受的解决方案吗?每次创建片段将如何影响内存性能和cpu性能?这种方法的缺点或优点是什么?
您认为此特定应用程序的最佳架构是什么?

例如,任何A是否包含与任何其他A相同的内容,或者其内容是否依赖于以前的片段?每个A片段包含不同的文本和图像,这些文本和图像最初从数据库中检索,具体取决于问题的ID。与B相同,C等。当你返回或前进到一个已经回答的问题时,那么之前的用户响应应该是可见的。如果片段已经被添加而没有被删除,并且你重写回去再次创建该片段,而之前没有删除它,那么你会遇到奇怪的情况。不幸的是,我不确定什么时候你真的需要跳过一些Ds和Fs。Replace用于所有片段,所以据我所知,在添加下一个片段之前,当前片段会被删除。我的困惑更多的是关于建筑。这些bug可以通过一些工作来解决,但我想知道是否有其他更好的方法来处理这个非常复杂的片段序列。