我在MainActivity的onCreate方法中创建了一个Handler()
来运行一些代码,所以很明显每次调用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多次之后发现了这一点。
答案 0 :(得分:0)
您可以延长Application
课程,因此您只有一个持有者,您也可以static
。
为了扩展应用程序:
1.创建App类public class App extends Application
2.在manifest
下application
标记集name=".App"
可以使用onCreate
方法用于此目的