【发布时间】:2014-01-16 21:36:28
【问题描述】:
我正在尝试编写一个 Android 应用程序 (java),它执行诸如确定应用程序的电池使用情况、应用程序的 cpu 使用情况、应用程序的内存使用情况,然后是电池电量、cpu 电压、电池温度、cpu 等总体情况temp 等。基本上是一堆统计数据,以后可能会用于分析。在阅读了如何做到这一点之后,在我看来,最好的方法是使用 /proc。具体来说,/proc/apm 用于电池,/proc/cpuinfo 用于 CPU 速度,/proc/meminfo 用于内存字段,/proc/stat 用于 CPU 使用。要获取特定于应用程序的数据,您是否会跟随 /proc 使用 PID,也许是在循环中?例如要对其进行伪代码,它会是这样的:
Get PIDs of all running processes
Run a loop that reads info from /proc/<PID>/apm and saves pertinent data to an array,
then iterates the PID
Run loops like the one above for cpuinfo, meminfo, and stat
我目前可以很好地读取电池电量,CPU 使用率花了我一段时间,但我想我也有。它的应用程序特定的东西让我陷入困境。对于我提到的任何统计信息,我是否需要 root 访问权限?
非常感谢!
【问题讨论】:
标签: java android memory battery proc