onLayout() дважды (или больше раз) может вызываться в рамках одного layout pass-а — и это может как быть нормальным, так и сигналом об ошибке.
onLayout() вызывается два и более раз, если:
- Происходит вложенный layout внутри layout-процесса
- Во время
onLayout()вызываетсяrequestLayout() - ViewGroup содержит детей, которые требуют переизмерения
- Анимация, изменение размеров, или пересоздание вьюшек
- ConstraintLayout или другие сложные LayoutManager’ы могут запустить доп. layout pass