android.os.SystemClock类

来源:互联网 发布:java socket server 编辑:程序博客网 时间:2024/04/30 00:55

SystemClock实现核心计时功能

有三钟不同的时钟:

方法 说明 System.currentTimeMillis(): 标准挂钟(wall clock)(日期和时间)表示的毫秒级的纪元(epoch). 挂钟时间可以由用户或手机网络设置(见setCurrentTimeMillis),因此时间可以向前或向后不可预测的调整.当现实世界的日期和时间是非常重要的,应该使用此时间,如日历或闹钟应用.而间隔或耗时测量应该使用不同的时钟.如果使用System.currentTimeMillis(),则应考虑监听Intent(ACTION_TIME_TICK,ACTION_TIME_CHANGED,ACTION_TIMEZONE_CHANGED)广播,去得知时间改变 uptimeMillis(): 系统启动后,按毫秒计算的时间. 此时间停止,当系统进入深度睡眠(CPU off,显示变黑,设备等待外部输入)时,但是不影响时钟,空闲,和其他省电机制. 这是许多间隔时间的基础,如Thread.sleep(millis),Object.wait(millis),System.nanoTime().此时钟保证是单调递增的, 适用于间隔时间,当间隔时间不类计算设备睡眠时. elapsedRealtime(): 返回从系统启动开始计时的时间,包含深度睡眠.此时钟保证是单调递增的,即使CPU在省电模式下,也继续跳动,因此通用的时间间隔推荐以此为基础.

SystemClock函数

函数 说明 sleep 在返回前,等待给定时间.运行中间不会被InterruptedException打断,直到超时.如果中间有被打断,退出时会重打断 setCurrentTimeMillis 设置当前的挂钟时间(wall time),毫秒级. 要求调用进程有合适的权限.返回设置是否成功 uptimeMillis 返回启动后的运行时间(毫秒级),包含深度睡眠时间 elapsedRealtime 返回启动后的运行时间(毫秒级),包含深度睡眠时间 elapsedRealtimeNanos 返回启动后的运行时间(纳秒级),包含深度睡眠时间 currentThreadTimeMillis 返回当前线程运行的毫秒数 currentThreadTimeMicro 返回当前线程运行的微秒数 currentTimeMicro 返回当前的挂钟时间(wall time)(微秒级)
0 0