0
我發現很奇怪不是有一個TimerTask一個普通的執行時間...... 我安排一個,有延時:1000米的毫秒和運行時,記錄了它...... 有時它是+1 millisec scheduledExecutionTime(作爲傳感器時間戳)是相對系統正常運行時間,以納秒錶示(文檔中沒有說明)安卓:安排TimerTask的不正規scheduledExecutionTime
是否有任何原因導致此不穩定計時?
// BEGINNING OF THREAD RUN
@Override
public void run() {
mRunning = true;
RecordingTimerTask recordingTask = new RecordingTimerTask();
Timer recordingTimer = new Timer();
recordingTimer.schedule(recordingTask, 0, 1000);
.....
class RecordingTimerTask extends TimerTask {
public void run() {
String data = "" + scheduledExecutionTime();
for (int i = 0; i < 3; i++) {
data = data + ";" + timestamps[i];
}
....
記錄的數據:
1391015410050 0
1391015411050 1000
1391015412050 1000
1391015413050 1000
1391015414050 1000
1391015415051 1001 <+ 1
1391015416051 1000
1391015417052 1001 <+ 1
1391015418052 1000
1391015419052 1000
1391015420052 1000
1391015421052 1000
1391015422052 1000
1391015423052 1000
1391015424052 1000
1391015425052 1000
1391015426053 1001 <+ 1
...
請閱讀定時器的文件,特別是關於固定期限和固定利率之間的差額的章節。我認爲這應該回答你的問題。 – njzk2