項目中是通過這種方式打印函數(shù)調(diào)用棧:
Log.e(TAG, Log.getStackTraceString(new Throwable()));
打印效果如下:
05-10 15:31:19.754 19991-19991/com.meizu.media.camera E/huannan: java.lang.Throwable
at com.meizu.media.camera...(....java:403)
at com.meizu.media.camera....(....java:248)
at com.meizu.media.camera....(....java:4649)
at com.meizu.media.camera....(....java:1307)
at com.meizu.media.camera....(....java:98)
at com.meizu.media.camera....(....java:1573)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:203)
at android.app.ActivityThread.main(ActivityThread.java:6476)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1113)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:974)
優(yōu)點(diǎn):這個方法在項目比較復(fù)雜盆昙,尤其是調(diào)用鏈關(guān)系比較復(fù)雜的時候很好用
缺點(diǎn):打印函數(shù)調(diào)用棧可能會影響性能嗜侮,因此最好在測試Debug中使用