在运行4.2的Nexus设备上跳过计时器

时间:2014-07-17 04:24:40

标签: java android

我的应用程序中有录制功能。我使用刷新率为1000ms的处理程序来更新计时器的处理程序。它的工作正常,除了在运行4.2的Nexus设备外,所有设备都没有跳秒。我怎么能解决这个问题?

1 个答案:

答案 0 :(得分:0)

如果你有一个计时器每1000毫秒更新一次,那么如果碰巧在一个之间超过1000毫秒的话,你就不够接近第二个边界,那么你会看到它有时会“跳过”一秒钟。例如,假设它实际上在调用之间花了1005ms,你最终可能会得到:

06:31:04.993
06:31:05.998
06:31:07.003 // We've skipped 06:31:06
06:31:08.008

最简单的解决办法就是让计时器更频繁地点火 - 例如,每100毫秒而不是每1000毫秒。您可能希望对此进行优化以避免对相同值重复进行字符串格式化,但您会“注意到”第二次更改的更加一致。