首页 > 解决方案 > Runnable的run方法在android中跑得更快

问题描述

我有两个片段。首先,我正在展示计时器。在我停留在第一个片段之前,它工作正常。但是当我用第二个片段替换第一个片段并再次回到第一个片段时,Runnable 的 run 方法运行速度比指定时间快。这是我下面的代码

private fun runTimer() {
    // Creates a new Handler
    val handler = Handler()
    thread{
        handler.post(object : Runnable {
            override fun run() {
                val h = seconds / 3600
                val m = (seconds % 3600) / 60
                val s = (seconds % 60)
                binding.timeTv.text = String.format("%d:%02d:%02d", h, m, s)

                if (running) {
                    seconds++
                }
                handler.postDelayed(this, 1000)

            }
        })
    }

}

请帮助我如何在一秒钟内运行计时器,即使在更改片段并再次回到前一个片段之后。

标签: performancehandler

解决方案


推荐阅读