-1

虽然我理解我们为什么需要Fragments(独立的可重用模块,每个模块都处理自己的 UI,这些 UI 可以针对平板电脑和手机等进行更改...),但如果我忽略这些原因并尝试保持简单的 3-4 布局Fragments及其生命周期听起来比包含 3-4 个项目的布局更“昂贵” ViewGroup

每次Fragments需要创建他们的视图时,他们都有一个完整的生命周期( onAttach -> onCreate -> onCreateView ...)。这意味着,我猜,使用的系统资源比具有一个布局的 Activity 更多。

更糟糕的是,如果我有类似列表的东西(不是 ListFragment 只有 10 个LinearLayouts项目),它不应该ViewGroup比 10 个项目的 UI 快得多Fragments吗?

4

1 回答 1

1

对,Fragments 会稍微慢一些。

然而,更快的期限是相对的。并且根据确切的应用,可以不同地考虑相同的绝对时间差。也要注意过早的优化

我准备了简单的测量:两个每个添加RelativeLayouts4TextView个作为简单布局,相同的布局添加为 2 个片段(全部通过 xml 完成)。我测量了使用ViewTreeObserver完全绘制相对布局的时间。对于测试用例,在我的设备上大部分时间差异小于 10 毫秒。我建议对您的案例进行相同的测量,然后再决定是否值得删除 Fragments,因为它们在灵活性、易于支持、重用、代码复杂性等方面具有很多优势。

于 2013-07-20T07:01:02.103 回答