【问题标题】:Android - Using too many linear layoutsAndroid - 使用过多的线性布局
【发布时间】:2015-10-28 22:18:55
【问题描述】:

在 android 的单个 xml 视图中使用过多的线性布局(例如 20 个)是一种不好的做法吗?

它是否会导致整个视图的渲染速度变慢。

我有时需要在单个视图中使用太多权重属性,这就是为什么我发现自己使用了太多线性布局。

【问题讨论】:

  • 线性布局本身并不坏/慢,你应该尽量避免嵌套线性布局。

标签: android android-linearlayout android-layout-weight


【解决方案1】:

我很确定是的。你应该尽量避免使用 LinearLayout 而使用 RelativeLayouts。

我知道权重听起来很吸引人,但我相信您可以考虑一个 relativeLayout 解决方法。

问题是,使用 LinearLayout,每次您需要更新某些内容时,UI 总是会被计算、重新计算和重新计算等。人们知道嵌套的东西对性能不利。 20 真的太多了,我觉得你可以做得更好;)

有关更多信息,请参阅此答案: Why are nested weights bad for performance? Alternatives?

或者从这里: http://developer.android.com/training/improving-layouts/optimizing-layout.html

例如,使用 LinearLayout 的嵌套实例会导致 视图层次过深。此外,嵌套几个 使用 layout_weight 参数的 LinearLayout 实例可以是 特别昂贵,因为每个孩子都需要测量两次。这是 当布局反复膨胀时尤其重要,例如 在 ListView 或 GridView 中使用时。

【讨论】:

  • @Cehm 说得好,为了能够正确判断单个视图的性能负载,您始终可以使用层次结构查看器进行调试。 1) Hierarchy Viewer Walkthrough 2) Optimizing Your UI 在“使用树视图中的单个视图”部分下查找“性能指标”这一点
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-21
  • 2013-05-19
  • 1970-01-01
  • 1970-01-01
  • 2021-05-03
  • 1970-01-01
相关资源
最近更新 更多