每个进程的内存和CPU ANDROID

时间:2012-07-14 19:04:12

标签: android android-intent android-service

我正在开发一个Android应用程序,在其中,我想获得正在运行的进程或应用程序列表。我找到了一种使用activitymanager的方法。但我不知道的是如何获得每个进程使用的处理器和内存。是否有人知道如何实现这一目标。

获取正在运行的进程的代码是,

我从上面的代码中获取所有正在运行的应用程序进程。请帮助我获取列表中每个进程的值。

谢谢。

1 个答案:

答案 0 :(得分:5)

  1. CPU负载 - 您需要阅读/ proc / [pid] / stat(ref http://linux.die.net/man/5/proc)。寻找utime& stime,它们是进程在用户模式和内核模式上花费的时间。看看它是如何工作的一个很好的例子,你可以找到top工具的源代码(查看top.c中的read_stat函数)。

  2. 内存使用 - 传统上,人们再次为rss字段读取/ proc / [pid] / stat。现在使用PSS更受欢迎。 (参考http://developer.android.com/reference/android/os/Debug.html#getPss%28%29)。您可以维基RSS和PSS的定义和区别 - 它与全局共享库的大小有关。