項目筆記-Android打印函數調用棧

每日一言:學而不思則罔,思而不學則殆。

歡迎一起討論和學習,QQ:732258496  QQ羣:478720016

 

項目中是通過這種方式打印函數調用棧:

Log.e(TAG, Log.getStackTraceString(new Throwable()));

打印效果如下:

01-15 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)

優點:這個方法在項目比較複雜,尤其是調用鏈關係比較複雜的時候很好用
缺點:打印函數調用棧可能會影響性能,因此最好在測試Debug中使用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章