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