Android中的時間:currentTimeMillis,uptimeMillis,elapsedRealtime

本文鏈接    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。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章