2012-07-14 70 views
0

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

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

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

谢谢。

回答

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

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

+0

嗨,那么getPss()会给我所需的每个进程的内存使用情况吗?只要我有进程ID? – Jonathan 2012-10-15 22:41:10