我正在开发一个Android应用程序,在其中,我想获得正在运行的进程或应用程序列表。我找到了一种使用activitymanager的方法。但我不知道的是如何获得每个进程使用的处理器和内存。是否有人知道如何实现这一目标。
获取正在运行的进程的代码是,
我从上面的代码中获取所有正在运行的应用程序进程。请帮助我获取列表中每个进程的值。
谢谢。答案 0 :(得分:5)
CPU负载 - 您需要阅读/ proc / [pid] / stat(ref http://linux.die.net/man/5/proc)。寻找utime& stime,它们是进程在用户模式和内核模式上花费的时间。看看它是如何工作的一个很好的例子,你可以找到top工具的源代码(查看top.c中的read_stat函数)。
内存使用 - 传统上,人们再次为rss字段读取/ proc / [pid] / stat。现在使用PSS更受欢迎。 (参考http://developer.android.com/reference/android/os/Debug.html#getPss%28%29)。您可以维基RSS和PSS的定义和区别 - 它与全局共享库的大小有关。