Android打印当前运行中的所有线程信息
在APP运行过程中,用什么方式可以获取当前进行运行的所有线程信息呢?
直接上代码:
private final String TAG = "budaye";
public void printAllThreadInfo() {
Map<Thread, StackTraceElement[]> allStackTraces = Thread.getAllStackTraces();
Log.d(TAG, "线程总数 = " + allStackTraces.size());
for (Map.Entry<Thread, StackTraceElement[]> stackTrace : allStackTraces.entrySet()) {
Thread thread = stackTrace.getKey();
Log.d(TAG, "线程:" + thread.getName() + ", id=" + thread.getId() + ", state=" + thread.getState());
StackTraceElement[] stack = stackTrace.getValue();
String strStackTrace = "堆栈:";
for (StackTraceElement stackTraceElement : stack) {
strStackTrace += stackTraceElement.toString() + "\n";
}
Log.d(TAG, strStackTrace);
}
}
原创技术文章,持续更新,请关注收藏~