我需要监视应用程序的行为并收集有关如何创建/销毁线程的统计信息.我知道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.
$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计算应用/进程的线程数所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)