Android 计算应用程序/进程的线程数

2024-02-10

我需要监视应用程序的行为并收集有关如何创建/销毁线程的统计信息。我知道 DDMS 有一个线程视图,可以实时显示此信息,但是我可以通过命令行获取相同的信息吗?我想创建自己的工具来记录这些信息并对其进行处理。

澄清: 我正在寻找的是一个可以通过 ADB 传递的命令,它将列出进程下运行的线程。这样,我可以在不同的时间点运行该命令来获取一段时间内所有线程的状态(线程数及其名称)。


有两种方法可以做到这一点。
在 Ubuntu 12.10 上的摩托罗拉 Moto G 上尝试过此操作

  1. 您可以列出all通过使用在设备上运行的线程top(在亚行壳牌下)。

    $ top -t
    PID   TID PR CPU% S     VSS     RSS PCY UID      Thread          Proc
    271   895  1   0% S  11120K   1892K     root     netd            /system/bin/netd
    272   272  0   0% S   1040K    200K     root     debuggerd       /system/bin/debuggerd
    274   274  2   0% S  63256K   7008K  fg system   surfaceflinger  /system/bin/surfaceflinger
    274   451  0   0% S  63256K   7008K  fg system   Binder_1        /system/bin/surfaceflinger
    

    因此要获取任何详细信息特别的您可以使用的流程grep

    $ top -t | grep com.whatsapp
    PID   TID   PR CPU% S     VSS     RSS PCY UID      Thread          Proc
    15210 15210  0   0% S 550076K  51180K  bg u0_a96   com.whatsapp    com.whatsapp
    15210 15214  0   0% S 550076K  51180K  bg u0_a96   GC              com.whatsapp
    15210 15215  0   0% S 550076K  51180K  bg u0_a96   Signal Catcher  com.whatsapp
    15210 15216  0   0% S 550076K  51180K  bg u0_a96   Compiler        com.whatsapp
    

    要在您的主机上运行它,只需使用

    $ adb shell top -t | grep com.whatsapp
    

    If grep不支持,使用Busybox http://www.busybox.net/.

  2. 如果您正在寻找Static看法。您还可以使用ps.

    $ ps -p 15210 -t                                         
    USER     PID   PPID  VSIZE  RSS   PRIO  NICE  RTPRI SCHED   WCHAN    PC         NAME
    u0_a96   15210 275   549036 52136 20    0     0     0     ffffffff 00000000 S com.whatsapp
    u0_a96   15214 15210 549036 52136 20    0     0     0     ffffffff 00000000 S GC
    u0_a96   15215 15210 549036 52136 20    0     0     0     ffffffff 00000000 S Signal Catcher
    u0_a96   15216 15210 549036 52136 20    0     0     0     ffffffff 00000000 S Compiler
    

    Where 15210是你的进程的PIDcom.whatsapp

希望这能解决您的问题,如果有效请告诉我。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 计算应用程序/进程的线程数 的相关文章

随机推荐