Вопросы на собесах

1.Перечислить и назвать особенности

LinearLayout — Элементы распологаются друг за другом либо вертикально либо горизонтально

FrameLayout предназначен для вывода на экран одного помещенного в него визуального элемента. Если же мы поместим несколько элементов, то они будут накладываться друг на друга. Однако можно добавить несколько дочерних элементов назначая гравитацию каждому дочернему элементу с помощью атрибута.

ReiativeLayout позволяет дочерним компонентам определять свою позицию относительно родительского компонента или относительно соседних дочерних элементов

ScrollView позволяет прокручивать иерархию представлений, размещенную в ней. В представлении прокрутки может быть только один прямой дочерний элемент.

2. Как работает Constraint

ConstraintLayout позволяет нам распологать дочерние вьюшки, используя «contraints — ограничения», определяя позицию вьюшка, основанные на отношениях между различными вьюшками, в макете.

3. Что такое двухпроходная отрисовка View, что за колбеки onMeasure и onLayout.

  • onMeasure() вызывается для определения размеров;
  • onLayout() вызывается для расположения элемента внутри контейнера;
  • onDraw() вызывается для отрисовки.

4. Инструменты для отладки/оптимизации