Если счётчик рекомпозиций быстро растёт и экран рекомпозируется десятки раз в секунду, как распутать причину и исправить проблему?

Найдите часто меняющееся состояние и место его чтения, затем проверьте, какую часть дерева оно инвалидирует. Оптимизировать нужно дорогое обновление, а не сам счётчик рекомпозиций.

Короткий ответ

Что ответить на собеседовании

Найдите часто меняющееся состояние и место его чтения, затем проверьте, какую часть дерева оно инвалидирует. Оптимизировать нужно дорогое обновление, а не сам счётчик рекомпозиций.

Подробный разбор

Ответ с пояснениями

Найдите часто меняющееся состояние и место его чтения, затем проверьте, какую часть дерева оно инвалидирует. Оптимизировать нужно дорогое обновление, а не сам счётчик рекомпозиций.

Частые причины — чтение прокрутки или анимации слишком высоко, создание новых нестабильных объектов и изменение состояния во время композиции. Перенесите чтение ближе к потребителю, используйте подходящую фазу layout/draw и derivedStateOf только там, где итог меняется реже входа. После правки сравните время кадров в том же сценарии.

Источник: developer.android.com.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее