myTimer.scheduleAtFixedRate(timerTaskForListChecker, 0L, timerInterval*1000);
上述行「有時」不知何故引發以下異常:在我的延遲參數在TimerTask的延遲參數相關的奇怪拋出:IllegalArgumentException,安卓
Caused by: java.lang.IllegalArgumentException: Illegal delay to start the TimerTask: -1543808998843
at java.util.Timer.scheduleImpl(Timer.java:567)
at java.util.Timer.scheduleAtFixedRate(Timer.java:528)
...
正如你看到的,我有「0」(後來我嘗試將其更改爲0L但它不起作用)
它如何將值「0」看作「-1543808998843」?
更新1:
我有以下行,我從來沒有改變一個時間間隔變量。
private int timerInterval = 3 * 60;
更新2: 我發現,產生此異常的系統,還返回一個負數(溢出?)以下行:
(int)((double)System.currentTimeMillis()/1000L)
它可以與定製Android操作系統? (由公司 - 設備特定 - 出廠默認設置)
我現在檢查了,我只有這一行:「private int timerInterval = 3 * 60;」我從不改變它。 – frankish
我建議您在拋出異常時修改代碼以打印出參數的實際值......或者用調試器檢查它們。 –
問題是我沒有得到這個異常,但「一些」用戶得到它。我從遠程異常日誌中看到這些。請參閱我的問題中的update-2;它可以幫助嗎? – frankish