Android打印当前运行中的所有线程信息

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);
        }
    }

原创技术文章,持续更新,请关注收藏~

猜你喜欢

转载自blog.csdn.net/u011578734/article/details/127329878