我知道有一个类似的问题,但这个问题有所不同:
运行我的应用时,我收到了数以千计的错误! 这是每隔几毫秒,当我打电话:
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
答案 0 :(得分:0)
你有任何错误信息吗?也许你可以使用TimerTask类来处理你的任务。 并且不要在while循环中创建新变量。这会浪费很多记忆。像这样:
long curTime;
while(!mStopped) {
curTime = SystemClock.elapsedRealtime();
}