美文网首页
Android小技巧 Part III——How to get

Android小技巧 Part III——How to get

作者: fish119 | 来源:发表于2016-12-23 10:43 被阅读0次

    Android开发遇到程序crash时,常常无法看到log,给开发调试带来了不小的困难,通过下面的简单方法,可以有效的获取log并输出出来(通过Logcat、日志文件等等)。

    自定义ExceptionHandler,继承Thread.UncaughtExceptionHandler

    public class TopExceptionHandler implements Thread.UncaughtExceptionHandler {
    
        private Thread.UncaughtExceptionHandler defaultUEH;
    
        private Activity app = null;
    
        public TopExceptionHandler(Activity app) {
            this.defaultUEH = Thread.getDefaultUncaughtExceptionHandler();
            this.app = app;
        }
    
        public void uncaughtException(Thread t, Throwable e) {
            StackTraceElement[] arr = e.getStackTrace();
            String report = e.toString() + "\n\n";
            report += "--------- Stack trace ---------\n\n";
            for (int i = 0; i < arr.length; i++) {
                report += "    " + arr[i].toString() + "\n";
            }
            report += "-------------------------------\n\n";
            //输出到LogCat
            Log.e("XXX",report);
            //输出到其他
            //TODO;
            defaultUEH.uncaughtException(t, e);
        }
    }
    

    在Activity中使用Handler

    @Override
    public void onCreate(Bundle savedInstanceState)
    {
      super.onCreate(savedInstanceState);
      Thread.setDefaultUncaughtExceptionHandler(new TopExceptionHandler(this));
      //TODO;
      //……
    }
    

    相关文章

      网友评论

          本文标题:Android小技巧 Part III——How to get

          本文链接:https://www.haomeiwen.com/subject/vzhkvttx.html