nba*_*lle 113 performance android android-linearlayout android-relativelayout
每次我需要一个View容器时,我一直在使用RelativeLayout,因为它的灵活性,即使我只是想显示一些非常简单的东西.
这样做是否可以,或者我应该从性能/良好实践的角度尝试使用LinearLayout?
谢谢!
Pie*_*tte 147
在Google I/O 2013(为Android编写自定义视图)的演讲中,Romain Guy澄清了导致每个人开始使用RelativeLayouts的误解.RelativeLayout总是必须进行两次测量.总的来说,只要您的视图层次结构很简单,它就可以忽略不计.但是,如果您的层次结构很复杂,那么进行额外的度量传递可能会相当昂贵.此外,如果您嵌套RelativeLayouts,您将获得指数测量算法.
https://www.youtube.com/watch?v=NYtB6mlu7vA&t=1m41s
https://www.youtube.com/watch?v=NYtB6mlu7vA&t=38m04s
Lie*_*yan 52
除非您正在布置大量视图(例如在ListView中),否则在LinearLayout或RelativeLayout之间进行选择的性能可以忽略不计.选择最适合工作的方式,只在需要时担心性能.
以下是关于创建高效布局的官方文档关于RelativeLayout和LinearLayout的性能的说明:
遗憾的是,坚持基本功能并不是创建用户界面的最有效方法.一个常见的例子是滥用LinearLayout,这会导致视图层次结构中的视图激增.您添加到应用程序中的每个视图(或更糟糕的是,每个布局管理器)都需要付出代价:初始化,布局和绘图变慢.当您嵌套多个使用weight参数的LinearLayout时,布局传递可能会特别昂贵,这需要对子进行两次测量.
| 归档时间: |
|
| 查看次数: |
43981 次 |
| 最近记录: |