Я создал Handler()
в своем методе onCreate моего MainActivity для запуска некоторого кода, поэтому, очевидно, каждый раз, когда вызывается onCreate, создается новый экземпляр моего обработчика. Когда пользователь уходит от MainActivity, а затем возвращается к нему, создается новый обработчик.
handler.postDelayed(object : Runnable {
override fun run() {
try {
player.money += player.cps
player.moneyEarned += player.cps
updateText()
save()
} catch (e: Exception) {
println("ERROR")
}
handler.postDelayed(this, 1000)
}
}, 0)
Как мне сделать так, чтобы новый обработчик не создавался при переходе обратно к моей MainActivity? Или каким-то образом заставить этот обработчик работать на глобальном уровне приложения, что означает, что будет создан только один его экземпляр?
Информация:
Создание слишком большого количества этих обработчиков приводило к зависанию моего приложения и его падению. Я полагаю, слишком много операций чтения, записи и вычислений. Я обнаружил это после того, как ушел из MainActivity более 50 раз.