Счётчик, который не считает
Состояние в Compose
Кнопка должна показывать число нажатий, но текст остаётся «Нажато: 0». Исправь код так, чтобы каждый клик обновлял счётчик, а значение сохранялось при обычном пересоздании Activity из-за поворота экрана.
Условия: Android Compose, стандартный SavedStateRegistry Activity, значение — небольшой Int, число нажатий не достигает переполнения. Перезапуск после явного завершения экрана и долговременное хранение не входят в договор.
Проверь: 0 → 1 → 2 по нажатиям; обычная рекомпозиция сохраняет 2; поворот восстанавливает 2; новое независимое открытие завершённого экрана начинает с 0. Сохранение UI state.
Сохранённый код превышает предел редактора. Скачай его перед сбросом; исходная запись сохранена.
Обычная локальная var не является наблюдаемым Compose state. MutableIntState хранит Int без обычного boxing на JVM и инвалидирует наблюдающие чтения при изменении значения; API доступен с Compose Runtime 1.5.0. mutableIntStateOf.
rememberSaveable сохраняет поддерживаемое небольшое значение через механизм saved state. Это помогает при пересоздании Activity и восстановлении после системной смерти процесса с сохранённым состоянием; это не база данных и не обещание восстановления после finish/удаления задачи. Save UI state. Решение не запускалось на Android.