1. 三種時間的相同點與不一樣點 android
相同點:都是相對時間。
不一樣點:比較的基準不一樣。currentTimeMillis能夠被用戶經過時鐘設置,也能夠網絡校時,反正是要設置,若是不設置,計算機怎麼會知道如今距離1970年1月1號有多長時間。另外兩個是從操做系統被引導後開始計算的,只是一個計算深度睡眠時間,另外一個不計算。
System#currentTimeMillis
Returns the current time in milliseconds since January 1, 1970 00:00:00.0 UTC.
android.os.SystemClock#uptimeMillis
Returns milliseconds since boot, not counting time spent in deep sleep.
android.os.SystemClock#elapsedRealtime
Returns milliseconds since boot, including time spent in sleep. 網絡
2. 應用場景 操作系統
AlarmManager支持currentTimeMillis和elapsedRealtime這兩種方式。
Thread.sleep(millis),Object.wait(millis),SystemClock.sleep(millis) 和Handler都是使用uptimeMills。 it