Выбор ответа Senior Compose: композиция и рекомпозиция обновлено

Strong Skipping Mode

Вопрос

Что изменил Strong Skipping Mode в компиляторе Compose?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Функции с нестабильными параметрами пропускаются при равенстве ссылок, лямбды запоминаются. Без Strong Skipping функция с хотя бы одним нестабильным параметром не пропускалась никогда.

Варианты ответа

  1. Composable-функции больше не рекомпозируются, если их вызвал пропущенный родитель
  2. Функции с нестабильными параметрами пропускаются при равенстве ссылок, лямбды запоминаютсяправильный ответ
  3. Все типы стали стабильными по умолчанию, и аннотации @Stable больше не нужны
  4. Рекомпозиция стала выполняться в фоновом потоке, а на главном только отрисовка

Разбор

Без Strong Skipping функция с хотя бы одним нестабильным параметром не пропускалась никогда. В режиме Strong Skipping (по умолчанию с Kotlin 2.0.20) нестабильные параметры сравниваются через ===, стабильные через equals, и лямбды оборачиваются в remember автоматически. Но если родитель создаёт новый список на каждой рекомпозиции, ссылка изменится и пропуска не будет. Стабильными все типы не стали, потоков это не касается.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.