我想了解虚拟心理gfxinfo日志上的时间信息。看起来是这样的:
Applications Graphics Acceleration Info:
Uptime: 16264702 Realtime: 28169900有人能告诉我如何将这些数字与System.currentTimeMillis()联系起来吗?
发布于 2013-08-05 15:14:54
long uptime = SystemClock.uptimeMillis();
long realtime = SystemClock.elapsedRealtime();
pw.println("Applications Graphics Acceleration Info:");
pw.println("Uptime: " + uptime + " Realtime: " + realtime);还来自SystemClock描述:
有三种不同的时钟,它们不应混淆:
System.currentTimeMillis()是标准的“墙壁”时钟(时间和日期),表示自那个时代以来的毫秒。挂钟可以由用户或电话网络设置(请参阅setCurrentTimeMillis(long)),因此时间可能会不期而至地向后或向前跳转。此时钟只应在与实际日期和时间的通信非常重要时使用,例如在日历或闹钟应用程序中。间隔或经过的时间测量应该使用不同的时钟。如果您正在使用System.currentTimeMillis(),请考虑收听ACTION_TIME_TICK、ACTION_TIME_CHANGED和ACTION_TIMEZONE_CHANGED意图广播,以了解时间的变化。 自系统启动以来,uptimeMillis()以毫秒计。当系统进入深度睡眠(CPU关闭、显示黑暗、设备等待外部输入)时,此时钟停止,但不受时钟缩放、空闲或其他节能机制的影响。这是大多数间隔计时(如Thread.sleep(millls)、Object.wait(millis)和System.nanoTime())的基础。该时钟保证是单调的,适用于间隔不跨越设备睡眠时的间隔定时。大多数接受时间戳值的方法目前都期望使用uptimeMillis()时钟。elapsedRealtime()和elapsedRealtimeNanos()返回系统启动后的时间,包括深度睡眠。这个时钟保证是单调的,即使在CPU处于节电模式时也会继续滴答,这也是通用间隔计时的推荐依据。
https://stackoverflow.com/questions/18038692
复制相似问题