Счётчик обнуляется при повороте экрана: что произошло с 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 при уходе приложения в фон, а поворот экрана на содержимое объекта никак не влияет
