• Глубокая вложенность. Плоские лэйауты отрисовываются быстрее, чем вложенные с тем же количеством View.
• Double taxation. Так называется ситуация, когда для лэйаута шаги
onMeasure() и onLayout() вызываются дважды. Например, double taxation случается при использовании атрибута weight в LinearLayout.Для того, чтобы избежать проблем с производительностью следует придерживаться следующих правил:
•
LinearLayout c текстом и картинкой следует заменять на TextView с Compound Drawable.• Если в качестве корневого лэйаута используется
FrameLayout без кастомизированных атрибутов, то его можно заменить тегом <merge>.• Использовать
<merge> для лэйаутов, которые вкладываются в другие лэйауты;• Использовать
ConstraintLayout вместо RelativeLayout. • Быть осторожным с атрибутом
layout_weight в LinearLayout и не использовать layout_weight в нескольких вложенных лэйаутах.