Вступить в клуб →
лёгкаявопросПлатформы и жизненный цикл приложения

Счётчик обнуляется при повороте экрана: что произошло с Activity

На экране Android-приложения есть счётчик нажатий:

class CounterActivity : AppCompatActivity() {
    private var count = 0

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_counter)
        button.setOnClickListener {
            count++
            counterText.text = count.toString()
        }
    }
}

Пользователь нажал кнопку 5 раз, повернул устройство — и увидел 0.

Какое объяснение верное?

  • Поворот вызывает только onResume, а поле count обнуляет сборщик мусора
  • Значение потерялось из-за того, что count объявлен как var, а не как val
  • При смене конфигурации система уничтожает и создаёт Activity заново, поле count инициализируется нулём
  • Android очищает поля Activity при уходе приложения в фон, а поворот экрана на содержимое объекта никак не влияет

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела