android - Application

Appication:代表这个应用程序。对应AndroidManifest.xml的节点写name,创建后需要在清单文件中进行配置。

单例,可以保存全局变量进行数据传递。APK加载内存中后的第一个实例化对象。onCreate方法的执行优先于activity和service和receiver的实例创建
(除了ContentProvider),可执行不耗时的初始化操作。service和activity可通过getApplication()获取到实例对象。

全局捕获异常

    public class MobilesafeApplication extends Application {
        //应用程序创建之前执行的第一个方法
        //适合做应用程序的初始化操作
        @Override
        public void onCreate() {
            //重写系统的异常处理器
            super.onCreate();
            Thread.currentThread().setUncaughtExceptionHandler(new MyExceptionHandler());
        }
        private class MyExceptionHandler implements UncaughtExceptionHandler{
            //当发现了未捕获异常的时候调用的方法
            @Override
            public void uncaughtException(Thread thread, Throwable ex) {
                System.out.println("发生了异常,但是被哥捕获了。。。");
                 try {              
                File file = new File(getFilesDir(), "error.log");
                PrintStream p = new PrintStream(file);
                //将log信息打印的文件中去
                ex.printStackTrace(p);


            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }

                //自杀的方法. 早死早超生
                android.os.Process.killProcess(android.os.Process.myPid());
            }
        }
    }

猜你喜欢

转载自blog.csdn.net/binbin594738977/article/details/81544794