【发布时间】:2017-12-01 01:16:56
【问题描述】:
在标准 JVM(例如 1.8 版)中,我们可以像这样访问当前线程的时间:
ManagementFactory.getThreadMXBean().getCurrentThreadCpuTime();
在 Android(即 Dalvik VM)中获取当前线程时间的等效方法是什么。
【问题讨论】:
-
定义CPU时间。您是否需要 CPU 启动后的时间、经过的时间、挂墙时间或其他时间?您还需要什么级别的精度?
-
此外,即使在标准 java 下也没有承诺支持 currentThreadCpuTime。
-
我想在 Android 中分析一个方法的运行时间。如果我用
System.nanoTime()测量时间(例如,t1=System.nanoTime(); methodCall(); timeDiff = System.nanoTime() - t1;),其他计时测量(例如,上下文切换时间,其他线程运行时间) 将包含在计算的时间差中。所以,我只想计算这个特定线程的执行时间。据我所知,在标准 Java 中,我们可以使用“getCurrentThreadCpuTime()”。但是,我不知道如何在 Android 中做到这一点。
标签: java android benchmarking cpu-time