Найдите часто меняющееся состояние и место его чтения, затем проверьте, какую часть дерева оно инвалидирует. Оптимизировать нужно дорогое обновление, а не сам счётчик рекомпозиций.
Если счётчик рекомпозиций быстро растёт и экран рекомпозируется десятки раз в секунду, как распутать причину и исправить проблему?
Найдите часто меняющееся состояние и место его чтения, затем проверьте, какую часть дерева оно инвалидирует. Оптимизировать нужно дорогое обновление, а не сам счётчик рекомпозиций.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Найдите часто меняющееся состояние и место его чтения, затем проверьте, какую часть дерева оно инвалидирует. Оптимизировать нужно дорогое обновление, а не сам счётчик рекомпозиций.
Частые причины — чтение прокрутки или анимации слишком высоко, создание новых нестабильных объектов и изменение состояния во время композиции. Перенесите чтение ближе к потребителю, используйте подходящую фазу layout/draw и derivedStateOf только там, где итог меняется реже входа. После правки сравните время кадров в том же сценарии.
Источник: developer.android.com.