startActivity
和startActivityForResult
的流程,并允许系统管理您的活动堆栈,比尝试管理巨大的片段后堆栈和一个活动要容易一些(仅是我的意见)。Object1CreationActivity
FragmentA --> FragmentB --> FragmentC --> FragmentD
Fragment和Activity之间的通信应该使用接口进行。如果我们想在其他地方重用它们,这一点非常重要。因此,我可以重用大部分代码来创建另一个对象。
Object2CreationActivity
FragmentB --> FragmentD --> FragmentE
总的来说,片段、活动、返回栈都是您可以用来制作Android应用程序的强大工具。并没有一个很好的经验法则说什么时候以及如何使用它们,但只要您熟悉它们如何协同工作,就可以根据您的应用程序适当地使用它们。
片段是活动的轻量级替代品......这是一种看待它的方式。例如,我有一个包含大约10-13个屏幕的应用程序。要么
我发现第三种方法更好、更易于管理。这有点像说片段允许使用framelayout选项重复使用视图。此外,您可以设计一种简单的方法,在片段之间共享数据,而不是使用Parceable在活动之间共享东西的重量级方式。
此外,Android API人员将更加关注基于片段的设计,而不是活动,因此最好遵循标准。使用片段比使用活动稍微复杂一些,但学习它们的努力是值得的。在我看来,它有助于创建可扩展和非常可重用的屏幕视图。
startActivity
和startActivityForResult
,因此您可以完全将它们与片段一起使用(请注意,子片段与startActivityForResult
无法正常工作)。 - jacobhyphenated