Android 是否有可能测量;CPU时间“;应用程序使用什么?

Android 是否有可能测量;CPU时间“;应用程序使用什么?,android,performance,cpu-usage,Android,Performance,Cpu Usage,我正在编写一个Android应用程序,它提供安装它的设备的统计数据,我想知道是否有可能确定以下指标 CPU用于维护特定进程的时间。我正在测试的设备有一个4核处理器,我希望无论所讨论的进程是在前台还是后台,都能得到时间。使用top可以得到进程占用CPU的百分比,有没有办法确定时间(以秒或时钟周期为单位) 谢谢请看一下ps命令。它具有格式说明符,即提供CPU和墙时间的字段/列 例如,Android的cputime: ps -x will yield something that looks lik

我正在编写一个Android应用程序,它提供安装它的设备的统计数据,我想知道是否有可能确定以下指标

CPU用于维护特定进程的时间。我正在测试的设备有一个4核处理器,我希望无论所讨论的进程是在前台还是后台,都能得到时间。使用top可以得到进程占用CPU的百分比,有没有办法确定时间(以秒或时钟周期为单位)


谢谢

请看一下
ps
命令。它具有格式说明符,即提供CPU和墙时间的字段/列

例如,Android的cputime:

ps -x

will yield something that looks like this
u0_a16    18214 17002 743644 18104 ffffffff 00000000 S com.android.location.fused (u:10, s:13)
其中u:10和s:13代表CPU在进程上花费的时间(来源:)


我制作了一个用于收集系统统计数据的Linux脚本,您可以在这里查看:。

如果您可以使用它,gprof实际上是一个很好的工具

它只对CPU时间进行采样,采样时间通常为每10毫秒一次


所以,看看它得到多少样本,不管它们属于什么函数,乘以10,这就是你的程序使用了多少毫秒。

谢谢你的回答Aleksey,但是当我从我设置的终端运行ps时,我没有得到cputime(很遗憾)。看起来这个命令是为了安卓而精简的。这是我运行它时看到的。shell@android:/sys/class$ps USER PID PPID VSIZE RSS WCHAN PC name午餐时间,所以我很快就会回来,但在我离开之前,我发现了一个可能有用的链接,供任何想知道的人使用。据了解,您可以使用“ps-x”获取进程的用户和系统时间我现在无法访问android,但可能在/proc/中提供此信息,是否可以获取大于(#cores)*(耗用墙时间)的cpu时间?我不知道。从技术上讲,这是不可能的,但有时这些东西不加起来只是因为不准确。顺便说一句,这是线程数,而不是核心数。