I have written a couple layout files where I used the layout_weight
attribute to create a ratio between different views.
At some point, I start getting lint warnings about nested weights.
So, I wonder why are nested weights bad for performance, and if there is a more efficient way to create a constant ratio between view dimensions that could be used for different screen sizes and that doesn't need to specify a lot of dimension dpi values throught several layout files (for different screen sizes, I mean).
Thank you!
Nested weights are bad for performance because:
Layout weights require a widget to be measured twice. When a LinearLayout with non-zero weights is nested inside another LinearLayout with non-zero weights, then the number of measurements increase exponentially.
It's better to use RelativeLayouts and adjust your view according to the places of other views without using specific dpi values.