Выбор ответа Senior Compose: композиция и рекомпозиция обновлено
Strong Skipping Mode
Вопрос
Что изменил Strong Skipping Mode в компиляторе Compose?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Функции с нестабильными параметрами пропускаются при равенстве ссылок, лямбды запоминаются. Без Strong Skipping функция с хотя бы одним нестабильным параметром не пропускалась никогда.
Варианты ответа
- Composable-функции больше не рекомпозируются, если их вызвал пропущенный родитель
- Функции с нестабильными параметрами пропускаются при равенстве ссылок, лямбды запоминаютсяправильный ответ
- Все типы стали стабильными по умолчанию, и аннотации
@Stableбольше не нужны - Рекомпозиция стала выполняться в фоновом потоке, а на главном только отрисовка
Разбор
Без Strong Skipping функция с хотя бы одним нестабильным параметром не пропускалась никогда. В режиме Strong Skipping (по умолчанию с Kotlin 2.0.20) нестабильные параметры сравниваются через ===, стабильные через equals, и лямбды оборачиваются в remember автоматически. Но если родитель создаёт новый список на каждой рекомпозиции, ссылка изменится и пропуска не будет. Стабильными все типы не стали, потоков это не касается.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.