4

我正在启动一个新应用程序,需要一组选项卡。在每个选项卡中,我需要多个屏幕,每个屏幕都有自己的后台堆栈(客户端需要)。这是我的意思的快速图表:

Tab 1
   |
   |_Screen1a --> Screen1b --> Screen1c
Tab 2
   |
   |_Screen2a -->Screen2b
Tab 3
   |
   |_Screen3a --> Screen3b --> Screen3c --> Screen3d
...etc

现在,我在使用 FragmentActivity 作为选项卡主机活动之前已经完成了这项工作。然后,每个选项卡都是一个 FragmentActivity,其中包含每个 Fragment。我的意思是:

FragmentActivity
    FragmentActivity1
       |
       |_Fragment1 --> Fragment2 --> Fragment3
    FragmentActivity2
       |
       |_Fragment4 --> Fragment5
    FragmentActivity3
       |
       |_Fragment6 --> Fragment7 --> Fragment8 --> Fragment9
    ...etc

现在,随着 4.2 SDK 的发布和 Support Library 的新修订,出现了嵌套片段。这允许您将一个片段放入另一个片段中(我假设您可以继续嵌套,虽然还没有测试过)。我正在考虑切换到使用嵌套片段,因为我目前在我的 Tab 主机活动中使用不推荐使用的方法。从本质上讲,我将在具有单个主机活动的片段中实现我的应用程序的整个流程。

在性能问题或内存问题等方面是否有任何下降?或者我应该使用我之前完成的实现并使用不推荐使用的方法?

4

1 回答 1

1

嵌套片段可以帮助解决您的问题,我已经尝试过这个实现。但是不要将子 Activity(intent) 添加到 TabHost 的 TabSpec 中。所有子活动都应替换为片段。但在我的选择中,我认为这种实现并不好。因为 Android 有一个返回键,所以导航会有点连线。并且按返回键通常会将用户返回到上一个屏幕。但是这个标签的东西会弄乱后面的导航。

于 2013-01-24T01:36:08.570 回答