Наибольший источник нестабильных параметров — это коллекции.
𝐋𝐢𝐬𝐭, 𝐒𝐞𝐭 и 𝐌𝐚𝐩 являются нестабильными. Существует три основных способа справиться с этим1️⃣ Самый безопасный способ — использовать
PersistentList, PersistentSet и PersistentMap из библиотеки kotlinx.collections.immutable. Эти структуры являются стабильными и гарантируют настоящую неизменяемость2️⃣ Более простой способ — заставить Compose интерпретировать
List, Set и Map как стабильные в вашем проекте. Это можно сделать через настройку стабильности (stability config). В такой конфигурации также можно указать другие типы, например, LocalDateTime. Однако этот вариант небезопасен, так как может привести к непредсказуемым последствиям.3️⃣ Последний и наименее популярный способ — обернуть коллекцию в класс-обертку, помечая её как неизменяемую. В наши дни это, пожалуй, наименее привлекательное решение, так как оно лишь скрывает проблему, но не решает её 🙄
👉 @MobDevPortal | #tips
