今天在项目中网络框架通过反射接收服务器端返回的数据,返回的方法运行在了子线程中,通过获取该线程的信息可以得到该线程的信息,特此总结下:
相应代码:
//获取当前线程信息
StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
for (int i = 0; i < stackTrace.length;i++){
System.out.println(stackTrace[i].getClassName());
System.out.println(stackTrace[i].getFileName());
System.out.println(stackTrace[i].getMethodName());
}
控制台输入:
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: dalvik.system.VMStack
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: VMStack.java
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: getThreadStackTrace
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: java.lang.Thread
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: Thread.java
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: getStackTrace
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: com.union.accessibilityservice.MainActivity
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: MainActivity.java
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: onCreate
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: android.app.Activity
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: Activity.java
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: performCreate
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: android.app.Instrumentation
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: Instrumentation.java
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: callActivityOnCreate
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: android.app.ActivityThread
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: ActivityThread.java
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: performLaunchActivity
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: android.app.ActivityThread
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: ActivityThread.java
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: handleLaunchActivity
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: android.app.ActivityThread
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: ActivityThread.java
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: access$800
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: android.app.ActivityThread$H
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: ActivityThread.java
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: handleMessage
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: android.os.Handler
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: Handler.java
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: dispatchMessage
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: android.os.Looper
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: Looper.java
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: loop
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: android.app.ActivityThread
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: ActivityThread.java
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: main
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: java.lang.reflect.Method
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: Method.java
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: invoke
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: java.lang.reflect.Method
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: Method.java
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: invoke
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: com.android.internal.os.ZygoteInit$MethodAndArgsCaller
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: ZygoteInit.java
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: run
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: com.android.internal.os.ZygoteInit
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: ZygoteInit.java
10-19 19:47:42.279 24458-24458/com.union.accessibilityservice I/System.out: main