Android中的活动还是片段?

Android中的活动还是片段?,android,android-fragments,android-activity,Android,Android Fragments,Android Activity,我已经对此进行了大约一个小时的研究,无法确定是在活动中使用片段还是启动新的片段活动 有些网站听起来好像你应该有一个活动,而其他一切都是一个片段。现在这样更合适吗?我不知道何时使用活动(或片段活动)以及何时使用片段 我有一个用于会议的应用程序,其中包含: -每位演讲者的演讲者(以及子视图/活动/片段)。 -时间表(每天不同的部分) -一般信息 -会话(每个会话的不同部分) 那么,我是有4个活动,每个活动都有自己的片段,还是只使用1个活动和片段和嵌套片段?您可以采用任何一种方式,但通常最好为每个“屏

我已经对此进行了大约一个小时的研究,无法确定是在活动中使用片段还是启动新的片段活动

有些网站听起来好像你应该有一个活动,而其他一切都是一个片段。现在这样更合适吗?我不知道何时使用活动(或片段活动)以及何时使用片段

我有一个用于会议的应用程序,其中包含: -每位演讲者的演讲者(以及子视图/活动/片段)。 -时间表(每天不同的部分) -一般信息 -会话(每个会话的不同部分)


那么,我是有4个活动,每个活动都有自己的片段,还是只使用1个活动和片段和嵌套片段?

您可以采用任何一种方式,但通常最好为每个“屏幕”使用一个活动(或片段活动)

如果用户认为你的应用程序在逻辑上是一个单一的屏幕,不同类型的数据显示/消失的面板很少,那么使用一个包含大量片段的活动。如果用户将其视为“转到不同的屏幕”,那么您可能需要多个活动


如果使用“一个活动多个片段”模型,您可能会发现您的活动的代码在处理所有可能的片段配置时变得非常复杂。这是一个好迹象,表明您可能希望将其拆分为多个活动。类似地,如果你使用许多活动模型,但是发现在活动之间传递共享数据时,事情变得复杂,考虑合并活动。

< P>你可以这样做,但通常最好对每个“屏幕”使用活动(或片段活动)。 如果用户认为你的应用程序在逻辑上是一个单一的屏幕,不同类型的数据显示/消失的面板很少,那么使用一个包含大量片段的活动。如果用户将其视为“转到不同的屏幕”,那么您可能需要多个活动


如果使用“一个活动多个片段”模型,您可能会发现您的活动的代码在处理所有可能的片段配置时变得非常复杂。这是一个好迹象,表明您可能希望将其拆分为多个活动。类似地,如果你使用许多活动模型,但发现在活动之间传递共享数据时,事情变得复杂,考虑合并活动。

< P>从活动转换为碎片活动,就像改变<代码>扩展< /代码>一样,没有其他需要改变的。 我的结论:

  • 我停止使用
    Activity
    ,只使用
    FragmentActivity
    ,因为它更灵活、更及时、更向后兼容(使用支持库)

  • 如果
    FragmentActivity
    有一个足够大的组件,可以作为一个独立的组件,或者需要一个独立的组件,那么我将其设置为
    Fragment

  • 我没有遇到需要在另一个活动中包含一个完全独立的活动的情况,但只有当该组件足够大且完全独立,需要一个活动时,才应该使用该组件

我不完全理解你的应用程序能够发出你应该使用的特定呼叫,如果你想要我的意见,你能提供更多关于你正在做什么以及这些组件如何连接的细节吗


关于

从活动到片段的转换活动就像更改扩展的一样简单,其他任何内容都不需要更改

我的结论:

  • 我停止使用
    Activity
    ,只使用
    FragmentActivity
    ,因为它更灵活、更及时、更向后兼容(使用支持库)

  • 如果
    FragmentActivity
    有一个足够大的组件,可以作为一个独立的组件,或者需要一个独立的组件,那么我将其设置为
    Fragment

  • 我没有遇到需要在另一个活动中包含一个完全独立的活动的情况,但只有当该组件足够大且完全独立,需要一个活动时,才应该使用该组件

我不完全理解你的应用程序能够发出你应该使用的特定呼叫,如果你想要我的意见,你能提供更多关于你正在做什么以及这些组件如何连接的细节吗


关于

选择更分解的体系结构(许多活动)的另一个考虑因素可能是活动生命周期中的销毁/创建成本。您是否计划使用显式/隐式意图来利用现有应用程序?更多的死亡。因此,在面向调度的模型中,您可能只有一个活动,并且可以在一个位置清楚地看到您的应用程序逻辑,但您需要保存/恢复多少状态?重新膨胀或填充数据资源是否会导致性能损失?

选择更分解的体系结构(许多活动)时的另一个考虑因素可能是活动生命周期中的销毁/创建成本。您是否计划使用显式/隐式意图来利用现有应用程序?更多的死亡。因此,在面向调度的模型中,您可能只有一个活动,并且可以在一个位置清楚地看到您的应用程序逻辑,但您需要保存/恢复多少状态?重新膨胀或填充数据资源是否会导致性能损失?

相关:小屏幕=活动。大屏幕=碎片。不过,您仍然需要一个用于片段的活动。相关:small screen=Activity。大屏幕=碎片。不过,你仍然需要为片段设置一个活动。我的问题更多的是关于什么时候某个片段会变成一个活动。如果我的片段有子片段,我是只做嵌套片段,还是将其作为活动。我总是使用片段活动,我只是混淆了什么时候某个东西变成了另一个(片段)活动或者什么时候