本文鏈接 http://blog.csdn.net/xiaodongrush/article/details/28613213
參考資料
http://developer.android.com/reference/android/os/SystemClock.html
1. 三種時間的相同點與不同點
相同點:都是相對時間。
不同點:比較的基準不同。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。