Android中获取有关代码的调用、进程、线程等信息

1、向代码的日志系统加入我们需要的信息

import android.os.Debug;
import android.os.Process;

/*1.*/ Log.d(TAG, "Callers:  " + Debug.getCallers(10));
/*2.*/ Log.d(TAG, "Thread name:  " + Thread.currentThread().getName());
/*3.*/ Log.d(TAG, "Uid: " + Process.myUid());
/*4.*/ Log.d(TAG, "Pid: " + Process.myPid() + ", Tid: " + Process.myTid());

/*5.*/ Log.d(TAG, "Hash of mem.addr. of mObj:" + System.identityHashCode(mObj));

当然,第四句有点画蛇添足,因为Android的日志系统会自动输出本条日志所属的进程号和线程号,放在这里是让我们了解进程号和线程号可以手动输出罢了。

2、使用adb shell中的ps命令

通过ps --help可以获得ps命令使用方法的详细信息,在此我主要记录一下-o参数的使用方法:
-o参数后面跟字段名可以过滤出我们想查看的字段的信息,字段名之间以逗号隔开,每个字段名后面还可以添加":",然后紧跟整数以限制字段在屏幕上占用空间的宽度;添加"=",然后紧跟字符串给字段添加一个标题,例如:

ps -TA -oPID,NAME,TID,CMD:50=Tname
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容