Можешь назвать виды Layout в XML в порядке тяжеловесности

«Можешь назвать виды Layout в XML в порядке тяжеловесности» — вопрос из категории UI и Views, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

FrameLayoutRelativeLayoutLinearLayoutConstraintLayoutCoordinatorLayout

  1. FrameLayout – самый легкий, просто накладывает View друг на друга.
  2. RelativeLayout – чуть сложнее из-за зависимостей между View.
  3. LinearLayout – простой, но вложенность увеличивает сложность.
  4. ConstraintLayout – оптимизирован для сложных иерархий, но тяжелее при глубоких связях.
  5. CoordinatorLayout – самый тяжелый из-за сложной логики поведения (например, для Snackbar).

Пример:

<FrameLayout>  <!-- Легкий -->
    <RelativeLayout>  <!-- Средний -->
        <LinearLayout>  <!-- Умеренный -->
            <ConstraintLayout/>  <!-- Оптимизированный, но сложный -->
        </LinearLayout>
    </RelativeLayout>
</FrameLayout>