有時候在debug的時候,因爲開發環境不是as,不能去單步調試,但是又想知道一個函數的調用關係,則可以在對應的函數方法中加入如下的打印:
Log.d("MthodCall",Log.getStackTraceString(new Throwable())); //方法1
Exception e = new Exception("this is a log"); // 方法2
e.printStackTrace();
public class MthodCall extends Activity {
TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mthod_call);
textView= findViewById(R.id.textView1);
textView.setOnClickListener(listener);
}
View.OnClickListener listener =new View.OnClickListener() {
@Override
public void onClick(View v) {
testMethodCall();
}
};
public void testMethodCall(){
Log.d("MthodCall","sdf");
MethodA();
}
public void MethodA(){
MethodB();
}
public void MethodB(){
Log.d("MthodCall",Log.getStackTraceString(new Throwable())); //方法1
Exception e = new Exception("this is a log"); // 方法2
e.printStackTrace();
}
當點擊textview 後,log中會打印如下的調用關係。