RelativeLayout 的缺点是什么
What is the disadvantages of RelativeLayout
我准备了一些关于 android 布局性能优化的文章。他们中的大多数人建议在其他布局上使用 RelativeLayout
s,因为这可能会帮助您避免消耗内存的嵌套布局。
就我个人而言,我认为每件事都有其优点和缺点。但是我无法弄清楚 RelativeLayout
s 在不同类型布局上的缺点。
RelativeLayouts有什么缺点?
什么时候应该避免使用 RelativeLayouts?
提前致谢。
相对布局在大多数情况下是最常用的布局,根据我的经验,使用它没有任何缺点 layout.Like 我之前说过选择最适合工作的布局,稍后再担心性能。
更新:
我复制了来自 Is a RelativeLayout more expensive than a LinearLayout?
的评论
In a talk at Google I/O 2013 (Writing Custom Views for Android),
Romain Guy clarified the misunderstanding that caused everyone to
start using RelativeLayouts for everything. A RelativeLayout always
has to do two measure passes. Overall it is negligible as long as your
view hierarchy is simple. But if your hierarchy is complex, doing an
extra measure pass could potentially be fairly costly. Also if you
nest RelativeLayouts, you get an exponential measurement algorithm.
https://www.youtube.com/watch?v=NYtB6mlu7vA&t=1m41s
对我来说,如果您必须重新组织组件,RelativeLayout 太耗时了。这是最大的缺点。
出于这个原因,我会说 RelativeLayout 作为顶层布局和底层布局非常好。但是中级布局最好使用 taylored (Linear, Table...) 布局。
例如,在创建表单时,我的 Activity 或 Fragment 的最顶部布局将是一个 RelativeLayout,但我的表单将被创建为一个大的垂直 LinearLayout。在这个 Linear 中,每一行都是一个 RelativeLayout,其中我将有一个 Text View 和一个 Edit Text。
通过这种方式,我可以非常轻松地对表单的字段进行排序,并且(我认为)通过不过度使用嵌套的 LinearLayout 来保持布局内存友好。
我准备了一些关于 android 布局性能优化的文章。他们中的大多数人建议在其他布局上使用 RelativeLayout
s,因为这可能会帮助您避免消耗内存的嵌套布局。
就我个人而言,我认为每件事都有其优点和缺点。但是我无法弄清楚 RelativeLayout
s 在不同类型布局上的缺点。
RelativeLayouts有什么缺点?
什么时候应该避免使用 RelativeLayouts?
提前致谢。
相对布局在大多数情况下是最常用的布局,根据我的经验,使用它没有任何缺点 layout.Like 我之前说过选择最适合工作的布局,稍后再担心性能。
更新:
我复制了来自 Is a RelativeLayout more expensive than a LinearLayout?
的评论In a talk at Google I/O 2013 (Writing Custom Views for Android), Romain Guy clarified the misunderstanding that caused everyone to start using RelativeLayouts for everything. A RelativeLayout always has to do two measure passes. Overall it is negligible as long as your view hierarchy is simple. But if your hierarchy is complex, doing an extra measure pass could potentially be fairly costly. Also if you nest RelativeLayouts, you get an exponential measurement algorithm.
https://www.youtube.com/watch?v=NYtB6mlu7vA&t=1m41s
对我来说,如果您必须重新组织组件,RelativeLayout 太耗时了。这是最大的缺点。
出于这个原因,我会说 RelativeLayout 作为顶层布局和底层布局非常好。但是中级布局最好使用 taylored (Linear, Table...) 布局。
例如,在创建表单时,我的 Activity 或 Fragment 的最顶部布局将是一个 RelativeLayout,但我的表单将被创建为一个大的垂直 LinearLayout。在这个 Linear 中,每一行都是一个 RelativeLayout,其中我将有一个 Text View 和一个 Edit Text。
通过这种方式,我可以非常轻松地对表单的字段进行排序,并且(我认为)通过不过度使用嵌套的 LinearLayout 来保持布局内存友好。