我发现了这个answer,它帮助我理解了这个场景。但是,如果我的应用程序中有100个活动,并且崩溃可能发生在任何一个中,那么我是否有可能从一个地方记录所有崩溃,而不是在每个活动中编写此代码。
我希望在应用程序发生崩溃时将stacktrace
保存在某个文件中,并且我希望全局执行此操作,而不是进入每个活动。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Sets the default uncaught exception handler. This handler is invoked
// in case any Thread dies due to an unhandled exception.
Thread.setDefaultUncaughtExceptionHandler(new CustomizedExceptionHandler(
"/mnt/sdcard/"))
答案 0 :(得分:1)
您可以在Application类中执行此操作。
public class MyDemoApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
if (!BuildConfig.DEBUG) {
Thread.setDefaultUncaughtExceptionHandler( <YOUR_CUSTOM_EXCEPTION_HANDLER> );
}
}
}