获取方法调用栈,场景:比如你想让不同的人调用这个方法,给的参数不同,可以通过调用栈拦截修改。
场景:打印日志上传到云,确定在代码里哪里调用了。
三种方案:
1、java传统方法,通过getStackTrace()
StackTraceElement st[] = Thread.currentThread().getStackTrace();
for (int i = 0; i < st.length; i++) {
LogUtils.d(TAG,"测试-栈:"+st[i]);
}
2、使用Android提供的方法
Log.wtf(TAG,"测试-栈");
3、借助Throwable或者Exception(Throwable的子类)
new Throwable("测试-栈").printStackTrace();
// 或者
try{
}catch(Exception e){
e.printStackTrace();
}
网友评论