【问题标题】:Memory and CPU per process ANDROID每个进程的内存和 CPU ANDROID
【发布时间】:2012-07-14 19:04:12
【问题描述】:

我正在开发一个 android 应用程序,我想在其中获取正在运行的进程或应用程序列表。我找到了一种使用活动管理器的方法。但我不知道如何让每个进程使用的处理器和内存。有谁知道我怎样才能实现这个目标。

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

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

谢谢。

【问题讨论】:

    标签: android android-intent android-service


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

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

    【讨论】:

    • 嗨,那么 getPss() 会给我我要求的每个进程的内存使用情况吗?只要我有进程ID?
    猜你喜欢
    • 2012-02-17
    • 1970-01-01
    • 1970-01-01
    • 2011-03-25
    • 2014-10-19
    • 2012-05-31
    • 1970-01-01
    • 1970-01-01
    • 2015-10-09
    相关资源
    最近更新 更多