每当我需要一个视图容器时,我总是使用RelativeLayout,因为它的灵活性,即使我只是想要显示一些非常简单的东西。
这样做可以吗?或者从性能/良好实践的角度来看,我应该在可能的情况下尝试使用LinearLayout吗?
谢谢!
发布于 2013-07-06 04:14:26
在Google I/O2013(为安卓编写自定义视图)上的一次演讲中,Romain Guy澄清了导致每个人都开始使用RelativeLayouts做任何事情的误解。RelativeLayout总是必须执行两次度量传递。总体而言,只要视图层次结构简单,它就可以忽略不计。但是,如果您的层次结构很复杂,执行额外的度量传递可能会花费相当高的成本。此外,如果您嵌套RelativeLayouts,您将获得一个指数度量算法。
发布于 2010-11-01 21:00:55
除非你布局了很多视图(例如在ListView中),否则在LinearLayout或RelativeLayout之间进行选择的性能可以忽略不计。选择最方便的来做这项工作,只有在需要的时候才会担心性能。
以下是关于Creating Efficient Layouts的官方文档对RelativeLayout和LinearLayout性能的描述:
不幸的是,
坚持使用基本功能并不是创建用户界面的最有效方式。一个常见的例子是滥用LinearLayout,这导致视图层次结构中的视图激增。添加到应用程序中的每个视图--或者更糟糕的是,每个布局管理器--都是有代价的:初始化、布局和绘制变得更慢。当您嵌套多个使用LinearLayout参数的权重时,布局过程可能会特别昂贵,这需要对孩子进行两次测量。
发布于 2015-03-02 16:05:34
Relativelayout比Linearlayout更有效。
来自here
使用基本布局结构会导致最有效的布局,这是一个常见的误解。但是,添加到应用程序中的每个小部件和布局都需要初始化、布局和绘制。例如,使用LinearLayout的嵌套实例可能会导致视图层次结构过深。此外,嵌套多个使用layout_weight参数的LinearLayout实例可能特别昂贵,因为每个子级都需要测量两次。当布局反复膨胀时,这一点尤其重要,例如在ListView或GridView中使用布局时。
https://stackoverflow.com/questions/4069037
复制相似问题