2013-07-18 147 views
1

我一直在尝试使用@szcoder在SOF上的How to get Memory usage and CPU usage in android?回答我的应用程序中的CPU使用情况。读取多核CPU的CPU使用率

他的解决方案曾用于我的三星Galaxy S2(双核CPU),但它不能在我的HTC One M7这是四核。

大部分读数(来自@ szcoder方法的值* 100,即cpu使用百分比)都是负值,一些小于10%,而少数大于100%。

在对此回答的评论Dave建议我们应该使用多个读数准确的值。

有人可以建议一个可能的解决方案来解决这个问题吗?

编辑:

我还试图用Fabian Knapp's解决方案,它使用top -n 1命令确定CPU使用率,但在我的测试分析/proc/stattop -n 1快得多(0.3xx秒comapred到的3.xx秒)所以如果有人提出这个建议,我不会因为时间消耗而使用最高命令。

回答

0

如果顶部的命令给你正确的值,那么我建议你看一下Android的source code for top,并拿出CPU所需的位,这比一秒钟所需要的时间少。我可以说这是有效的,因为我做过一次。

+0

感谢您的信息,但你可以分享Java代码?因为'top.c'是用c编写的,我用'c语言'不是很好' –

+0

对不起,我写了代码为man工作,所以我不能分享。但是请查看该链接中的read_stat()函数,该函数执行您所需的操作;它很短而且不难理解。 –

+0

@YusufX你能否更新链接? –