Android计算应用进程的线程数

Android计算应用进程的线程数,第1张

概述我需要监视应用程序的行为并收集有关如何创建/销毁线程的统计信息.我知道DDMS有一个线程视图,可以实时显示这些信息,但是我可以通过命令行获得相同的信息吗?我想创建自己的工具,它将记录此信息及其过程.澄清:我正在寻找的是一个可以通过ADB传递的命令,它将列出在进程下运行的线程.

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

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

解决方法:

有两种方法可以做到这一点.
在Ubuntu 12.10的摩托罗拉Moto G上试过这个

>您可以使用top(在ADB Shell下)列出设备上运行的所有线程.

@H_403_15@$top -tPID TID PR cpu% S VSS RSS PCY UID Thread Proc271 895 1 0% S 11120K 1892K root netd /system/bin/netd272 272 0 0% S 1040K 200K root deBUGgerd /system/bin/deBUGgerd274 274 2 0% S 63256K 7008K fg system surfaceflinger /system/bin/surfaceflinger274 451 0 0% S 63256K 7008K fg system Binder_1 /system/bin/surfaceflinger

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

@H_403_15@$top -t | grep com.whatsappPID TID PR cpu% S VSS RSS PCY UID Thread Proc15210 15210 0 0% S 550076K 51180K bg u0_a96 com.whatsapp com.whatsapp15210 15214 0 0% S 550076K 51180K bg u0_a96 GC com.whatsapp15210 15215 0 0% S 550076K 51180K bg u0_a96 Signal Catcher com.whatsapp15210 15216 0 0% S 550076K 51180K bg u0_a96 Compiler com.whatsapp

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

@H_403_15@$adb shell top -t | grep com.whatsapp

如果不支持grep,请使用Busybox.
>如果您正在寻找静态视图.你也可以用ps.

@H_403_15@$ps -p 15210 -t USER PID PPID VSIZE RSS PRIO NICE RTPRI SCHED WCHAN PC nameu0_a96 15210 275 549036 52136 20 0 0 0 ffffffff 00000000 S com.whatsappu0_a96 15214 15210 549036 52136 20 0 0 0 ffffffff 00000000 S GCu0_a96 15215 15210 549036 52136 20 0 0 0 ffffffff 00000000 S Signal Catcheru0_a96 15216 15210 549036 52136 20 0 0 0 ffffffff 00000000 S Compiler

其中15210是进程com.whatsapp的PID

希望这能解决您的问题,让我知道它是否有效.

总结

以上是内存溢出为你收集整理的Android计算应用/进程的线程数全部内容,希望文章能够帮你解决Android计算应用/进程的线程数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1114815.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存