在整个应用程序中只创建一个处理程序实例

时间:2018-04-30 11:42:05

标签: android kotlin

我在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多次之后发现了这一点。

1 个答案:

答案 0 :(得分:0)

您可以延长Application课程,因此您只有一个持有者,您也可以static

为了扩展应用程序: 1.创建App类public class App extends Application 2.在manifestapplication标记集name=".App"

可以使用onCreate方法用于此目的