Android 安卓天文钟-1秒“;“滴答声”;晚的

Android 安卓天文钟-1秒“;“滴答声”;晚的,android,chronometer,Android,Chronometer,该应用程序是一个用于自行车、滑雪等运动的计时器,参赛者可以定期启动。e、 g.1分钟 在我的OnChronomertickListener实现中,我注意到调用的间隔明显长于1000毫秒。我使用经过的时间(滴答声和计时器的基准之间)来倒计时每个间隔的最后5秒。由于回拨很晚,我可以在,比如, 55,500 56,600 57,750 58,870 59,980 61110 因此,当我使用m_%1000时,我可以跳过整整一秒钟。 我甚至看到计时器里的文字落后了,不得不跳过一秒钟。 当我根据计时表的基

该应用程序是一个用于自行车、滑雪等运动的计时器,参赛者可以定期启动。e、 g.1分钟

在我的OnChronomertickListener实现中,我注意到调用的间隔明显长于1000毫秒。我使用经过的时间(滴答声和计时器的基准之间)来倒计时每个间隔的最后5秒。由于回拨很晚,我可以在,比如, 55,500 56,600 57,750 58,870 59,980 61110

因此,当我使用m_%1000时,我可以跳过整整一秒钟。 我甚至看到计时器里的文字落后了,不得不跳过一秒钟。 当我根据计时表的基准时间和当前系统时间进行计算时,我对精确度没有问题

我是否必须使用更精细的回调编写自己的计时器?
或者还有其他修正吗?

chronometer发送延迟1000毫秒的消息,因此您可以看到这样的行为,您可以使用自己的类,该类使用处理程序,以更精细的延迟发布应该说“racers”而不是“races”。我现在看到chronometer并没有做“scheduleAtFixedRate”的等效操作。我通过使用Timer的scheduleAtFixedRate()和TimerTask解决了这个问题。为此,我还必须学习如何使用处理程序(正如pskink所建议的那样),因为TimerTask运行在一个独立于GUI/活动的线程中。现在,计时表和我的倒计时可以分开了。我可能会放弃计时表,对两者使用相同的“大头钉”。这只是屏幕上的显示。我捕捉到的任何比赛结果都是准确的。@BryanT你找到解决这个问题的方法了吗?我现在面临同样的问题。