0

我想查看我的应用在 Android 中的 CPU 使用情况。为此,我同时使用了 top 和 dumpsys cpuinfo。我计算了 top 命令的平均 5 分钟(cpu 测量之间的间隔为 1 秒)。例如,有一次我的应用在 5 分钟内获得了 19%,但下一次我在 5 分钟内获得了 17%。我对dumpsys做了同样的事情。他们的结果略有不同。

主要问题是:一个比另一个更准确吗?

我需要高精度的 CPU 使用率。

此外,我可以更改 dumpsys cpuinfo 的时间跨度,使其给出过去 5 分钟的平均值吗?

更新:它不是像这样的重复问题

4

1 回答 1

1

我建议使用 dumpsys。以我的经验,TOP 从各种来源获取信息,一些是直接的,一些是估计的。在早期的架构中估计是必要的,因为没有任何方法可以直接测量某些统计数据。现在,这些测量中的许多都可以从最低级别获得。TOP 的主要问题是弄清楚它是否已经更新为直接获得这些测量值,或者它是否仍在估计它们。

相反,dumpsys 从 /proc 获取其信息。这些测量值处于最低水平或非常接近最低水平。因此,随着架构的变化,/proc 更有可能被更新。

您问题的第二部分提出了 /proc 的缺陷之一。/proc 通常记录得很差,包括采样率等。我还没有看到可以设置 /proc(以及 dumpsys)的采样率的情况,但这并不意味着不存在这种能力。(通常,采样率实际上是与数据一起转储的。)

于 2016-11-09T03:40:47.830 回答