android-tip-各類clock的使用

 

 System.currentTimeMills()
這個函數取得的毫秒數,是由當前系統的日期和時間決定的。
它能夠經過SystemClock.setCurrentTimeMillis()來改變。
若是須要一個精確的計時器,那麼必定不要用它

 

SystemClock.uptimeMillis()
這個時鐘經常用來實現動畫,AnimationUtils.currentAnimationTimeMillis()即是由這個方法實現的。
它表明從系統啓動開始的毫秒數,當系統進入深睡眠時,clock會中止,例如 CPU off、顯示器關閉,設備等待外部輸入等。
它是許多定時器的基礎,如Thread.sleep()、Object.wait()、System.nanoTime()
假如咱們的Timer在設備休眠的時候不須要繼續走,那麼使用這個函數做爲定時器是合適的。

 

SystemClock.elapsedRealtime()
這個時鐘及時在CPU處於省電模式下或者深度睡眠的狀況下,依然能正常運行
所以若是咱們須要一個精確的計時器,那麼就使用這個方法。
相關文章
相關標籤/搜索