Android:时间倒退错误

时间:2014-01-20 22:58:56

标签: android multithreading

我知道有一个类似的问题,但这个问题有所不同:

运行我的应用时,我收到了数以千计的错误! 这是每隔几毫秒,当我打电话:

long curTime = SystemClock.elapsedRealtime();

这是从线程中的循环中调用的:

private class LedAnimatorThread extends Thread {
@Override
public void run() {
    //...
    while(!mStopped) {
        long curTime = SystemClock.elapsedRealtime();
    }
}

为什么会发生这种情况?如何防止这种情况发生?

修改 对不起,我完全忘了发布日志上显示的警告消息。 它类似于这个:

  

/ SystemClock(11814):时间倒退:上一个9003590393023(ioctl)vs现在9003584533648(ioctl),tid = 11856

1 个答案:

答案 0 :(得分:0)

你有任何错误信息吗?也许你可以使用TimerTask类来处理你的任务。 并且不要在while循环中创建新变量。这会浪费很多记忆。像这样:

long curTime;
while(!mStopped) {
    curTime = SystemClock.elapsedRealtime();
}