Android系统查看某个进程的线程
2019-07-23 本文已影响0人
Gaoit
Android系统中的应用通常对应一个或多个进程,进程内部会创建并执行多个线程,那我们如何监控其中单个线程的状态和详细情况呢?(如,CPU/内存使用率)。
Android系统本身是基于Linux系统的,所以Linux系统的查看方法同样适用于Android系统。
下面提供了显示某个进程的线程的几种方式。
方法一:ps
首先是 adb shell 登录设备shell
在ps命令中,“-T”选项可以开启线程查看。下面的命令列出了由进程号为<pid>的进程创建的所有线程。
$ ps -T -p <pid>

PID 是process进程id, TID(thead id)可以理解为线程的Id。CMD线程名
方法二: top
首先是 adb shell 登录设备shell
top命令可以实时显示各个线程情况。要在top输出中开启线程查看,请调用top命令的“-H”选项,该选项会列出所有Linux线程。
$ top -H

要让top输出某个特定进程<pid>并检查该进程内运行的线程状况:
$ top -H -p <pid>

方法三:Profiler
Android Studio 提供了一个对用户更加友好的方式,通过 Profiler 查看单个进程的 CPU,内存,网络,电池情况,双击进入 CPU 可以查看该进程中的线程。

现在,你就会看到下面这样单个进程的线程视图。
