有多少ViewGroup(LinearLayout,Relative,Grid等)被认为太多了?

时间:2016-11-09 01:39:53

标签: android android-layout android-viewgroup

我试图找到这个具体问题的答案,但我不能。 我观看了一段视频https://www.youtube.com/watch?v=NYtB6mlu7vA,我觉得过度使用Layouts通常很昂贵。 像twitter这样的应用程序使用由许多嵌套组视图组成的复杂设计

Dumped View Hierarchy

我意识到这些是列表视图中的行,并且它们被回收,但我的问题是,这一般被认为是不好的做法吗?

他们讨论的视频是:linearlayout执行计算以在其中绘制元素,并且当您嵌套多个线性布局时,它会变得更糟。

1 个答案:

答案 0 :(得分:0)

根据Lint Checks:

  

布局有太多观点

     

最大视图计数默认为80,但可以使用环境变量ANDROID_LINT_MAX_VIEW_COUNT进行配置。

     

布局层次太深

     

嵌套太多的布局很糟糕   为了表现。考虑使用更平坦的布局(例如   RelativeLayout或GridLayout)。默认的最大深度为10但可以   配置环境变量ANDROID_LINT_MAX_DEPTH。

根据我的经验:

如果您的应用支持api 9+,我建议使用少于12个嵌套视图。通常这些设备对内存有限制。您可以获取OutOfMemoryException或StackOverflowException。 StackOverflow发生在" Composite"模式以递归方式遍历层次结构。