我正在为layout
编写一个带有自定义主题和API 18+
(某些CI)的应用,所以我需要调整很多元素。
我多次阅读过,应尽量避免嵌套布局,但也有些布局类型的效率低于其他布局类型(RelativeLayout
)。
RelativeLayout
LinearLayout
(2级)TableLayout
与TableRows
目前我已经有了这种布局层次结构:
Drawer
(适用于sidemenu
)
Relative
(由于header
和footer
)
Frame
(内容如下所示,仅用于轻松替换片段)答案 0 :(得分:2)
您当前的布局层次结构非常样本,在正常情况下它根本不应该很慢。当然,当您使用相对布局时不需要FrameLayout,因为您可以将中心内容对齐在相对布局子项的页眉和页脚的下方和上方。
对于此级别的嵌套视图,性能绝对没有问题。
RealtiveLayout和LinearLayout都扩展了FrameLayout,相对较重,因为它处理了视图之间的其他关系。
如果需要在表单类型布局中对齐多个元素(如editexts和textview),最好的选项是TableLayout。
一般来说,XML的布局通胀代价很高,但在另一个内部嵌入一个视图在现实生活中没有任何区别。问题是如果你在TableView中有一千个视图,其中TableRows里面有嵌套布局。