了解dumpsys gfxinfo的时间信息

时间:2013-08-04 00:39:38

标签: android performance adb system-clock gfx

我想了解dumpsys gfxinfo日志的时间信息。它看起来像这样:

Applications Graphics Acceleration Info:

Uptime: 16264702 Realtime: 28169900

有人能告诉我如何将这些数字与System.currentTimeMillis()相关联吗?

1 个答案:

答案 0 :(得分:2)

来自ActivityManagerService.java

    long uptime = SystemClock.uptimeMillis();
    long realtime = SystemClock.elapsedRealtime();
    pw.println("Applications Graphics Acceleration Info:");
    pw.println("Uptime: " + uptime + " Realtime: " + realtime);

同样来自SystemClock说明:

  

有三种不同的时钟,不应混淆:

     

System.currentTimeMillis()是标准的“墙”时钟(时间和时间)   date)表示自纪元以来的毫秒数。挂钟可以   由用户或电话网络设置(见setCurrentTimeMillis(long)),   所以时间可能会不可预测地向后或向前跳跃。这个时钟   只应在与真实世界日期对应时使用   时间很重要,例如在日历或闹钟应用程序中。   间隔或经过时间测量应使用不同的时钟。如果   你正在使用System.currentTimeMillis(),考虑听一下   ACTION_TIME_TICKACTION_TIME_CHANGEDACTION_TIMEZONE_CHANGED   意图广播以找出时间的变化。

     自引导系统以来,

uptimeMillis()以毫秒为单位计算。当系统进入深度睡眠状态(CPU关闭,显示较暗,设备等待外部输入)时,此时钟停止,但不受时钟缩放,空闲或其他省电机制的影响。这是大多数间隔时间的基础,例如Thread.sleep(millls)Object.wait(millis)System.nanoTime()。该时钟保证是单调的,当间隔不跨越设备睡眠时,适用于间隔定时。大多数接受时间戳值的方法当前都需要uptimeMillis()时钟。

     

elapsedRealtime()elapsedRealtimeNanos()返回自系统启动以来的时间,并包括深度睡眠。该时钟保证是单调的,即使在CPU处于省电模式时也会继续打勾,因此是通用间隔时序的推荐基础。