Атрибут weight и его влияние на производительность
При использовании обычного LinearLayout каждый из on… методов View вызывается его дочерних View только по одному разу, что делает его довольно быстрым. Если же использовать атрибут weight, то метод onMeasure() будет вызван по 2 раза на каждом View. Это делает производительность LinearLayout такой же, как у RelativeLayout и как может показаться не создает никаких проблем.
Проблем нет до тех пор, пока иерархия View плоская. Как только появляются вложенные LinearLayout, каждый из которых со своим атрибутом weight, и у них есть дочерние View, тоже с атрибутом weight производительность начинает ухудшаться по экспоненте. Поэтому вместо того, чтобы использовать вложенные LinearLayout с атрибутом weight лучше использовать ConstraintLayout, который будет лучше по быстродействию.
От нуля до работы за 10 месяцев
Обучающая платформа AndroidSprint
Выберите трек Android, Backend или QA. Дорожная карта от основ до Junior с менторской поддержкой на каждом этапе
- Дорожная карта: чёткий план от азов до трудоустройства — знаете, что делать дальше
- Менторы: код-ревью на каждое задание и карьерные консультации
- Результат: портфолио из проектов и поддержка при поиске работы