首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >RelativeLayout比LinearLayout贵吗?

RelativeLayout比LinearLayout贵吗?
EN

Stack Overflow用户
提问于 2010-11-01 20:55:31
回答 4查看 47.6K关注 0票数 116

每当我需要一个视图容器时,我总是使用RelativeLayout,因为它的灵活性,即使我只是想要显示一些非常简单的东西。

这样做可以吗?或者从性能/良好实践的角度来看,我应该在可能的情况下尝试使用LinearLayout吗?

谢谢!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-07-06 04:14:26

在Google I/O2013(为安卓编写自定义视图)上的一次演讲中,Romain Guy澄清了导致每个人都开始使用RelativeLayouts做任何事情的误解。RelativeLayout总是必须执行两次度量传递。总体而言,只要视图层次结构简单,它就可以忽略不计。但是,如果您的层次结构很复杂,执行额外的度量传递可能会花费相当高的成本。此外,如果您嵌套RelativeLayouts,您将获得一个指数度量算法。

https://www.youtube.com/watch?v=NYtB6mlu7vA&t=1m41s

https://www.youtube.com/watch?v=NYtB6mlu7vA&t=38m04s

票数 149
EN

Stack Overflow用户

发布于 2010-11-01 21:00:55

除非你布局了很多视图(例如在ListView中),否则在LinearLayout或RelativeLayout之间进行选择的性能可以忽略不计。选择最方便的来做这项工作,只有在需要的时候才会担心性能。

以下是关于Creating Efficient Layouts的官方文档对RelativeLayout和LinearLayout性能的描述:

不幸的是,

坚持使用基本功能并不是创建用户界面的最有效方式。一个常见的例子是滥用LinearLayout,这导致视图层次结构中的视图激增。添加到应用程序中的每个视图--或者更糟糕的是,每个布局管理器--都是有代价的:初始化、布局和绘制变得更慢。当您嵌套多个使用LinearLayout参数的权重时,布局过程可能会特别昂贵,这需要对孩子进行两次测量。

票数 52
EN

Stack Overflow用户

发布于 2015-03-02 16:05:34

Relativelayout比Linearlayout更有效。

来自here

使用基本布局结构会导致最有效的布局,这是一个常见的误解。但是,添加到应用程序中的每个小部件和布局都需要初始化、布局和绘制。例如,使用LinearLayout的嵌套实例可能会导致视图层次结构过深。此外,嵌套多个使用layout_weight参数的LinearLayout实例可能特别昂贵,因为每个子级都需要测量两次。当布局反复膨胀时,这一点尤其重要,例如在ListView或GridView中使用布局时。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4069037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档