2014-01-20 77 views
0

我知道有一个类似的问题,但是这一次不同的是:安卓:时间倒退错误

当运行我的应用程序,我得到成千上万这个错误的! 这是每隔几毫秒,当我打电话:

long curTime = SystemClock.elapsedRealtime(); 

这是从一个循环,一个线程调用:

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

它为什么会发生,我怎样才能避免这种情况?

编辑: 对不起,我完全忘记发布在日志上出现的警告消息。 它是类似这样的:

/SystemClock(11814):时间倒退:上一页9003590393023(IOCTL)与现在9003584533648(IOCTL),TID = 11856

+0

为什么你需要经常调用这个函数?每隔几毫秒进行一次这样的系统调用就很多了。 –

+0

我需要在确切的时间间隔做某事。所以我需要传递一些东西,比如17毫秒。我真的没有看到目前的另一种方式 –

+0

没关系,我把它混淆为一个不同的功能。 –

回答

0

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

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