⚙️ Google переписал гайд по стабильности в Compose: часть старых советов теперь наоборот
Старая версия писала, что нестабильный параметр значит рекомпозицию всегда. Но с Kotlin 2.0.20 по умолчанию работает Strong Skipping, и нестабильные параметры сравниваются по ссылке (===). Гайд наконец под это обновили, и советы поменялись.
👉 Коллекции. Раньше советовали Kotlinx immutable collections или @Immutable/@Stable. Теперь: не делайте этого без нужды в equals(). === стоит O(1), а equals() по большому списку на каждой рекомпозиции может выйти дороже самой рекомпозиции
👉 Типы из других модулей. Вместо обёрток в UI-модели теперь файл конфигурации стабильности или аннотации, но только для небольших моделей с дешёвым equals()
👉 Отладка. Первым делом проверьте, не создаётся ли новый экземпляр нестабильного параметра на каждой рекомпозиции
🔗 Stability in Compose
#Compose #AndroidDev #Performance
Post #994
2.36K

- ❤ 18