Firebase Crashlytics显示非致命异常是否正常?能否禁用该功能?
Firebase Crashlytics 非致命异常记录相关问题解答
这是预期行为吗?
是的,这属于Crashlytics的预期功能。Crashlytics不仅会捕获导致应用崩溃的致命异常,还默认会记录非致命异常——也就是你代码中捕获到的、或者抛出后未触发应用崩溃退出的异常。这类记录能帮你提前发现应用中的潜在稳定性问题,不用等到应用崩溃才察觉。
如何禁用非致命异常记录?
Android平台
在初始化Crashlytics之前,通过CrashlyticsCore配置关闭非致命异常收集:
// Kotlin示例 val core = CrashlyticsCore.Builder() .setCrashlyticsCollectionEnabled(true) // 如需保留崩溃捕获可设为true .setEnableNonFatalExceptionCollection(false) // 关闭非致命异常收集 .build() FirebaseCrashlytics.getInstance().setCrashlyticsCore(core)
// Java示例 CrashlyticsCore core = new CrashlyticsCore.Builder() .setCrashlyticsCollectionEnabled(true) .setEnableNonFatalExceptionCollection(false) .build(); FirebaseCrashlytics.getInstance().setCrashlyticsCore(core);
iOS平台
在AppDelegate的初始化方法中,关闭非致命异常记录:
// Swift示例 Crashlytics.crashlytics().setCrashlyticsCollectionEnabled(true) // 如需保留崩溃捕获可设为true Crashlytics.crashlytics().recordNonFatalErrors = false // 关闭非致命异常收集
// Objective-C示例 [[FIRCrashlytics crashlytics] setCrashlyticsCollectionEnabled:YES]; [[FIRCrashlytics crashlytics] setRecordNonFatalErrors:NO];
注意:如果你的代码中存在手动调用recordException方法主动上报的非致命异常,即使关闭了默认收集,这类主动上报的记录仍会出现在控制台。若要完全停止,需删除代码中手动调用recordException的逻辑。
内容的提问来源于stack exchange,提问作者Droidme
相关产品推荐
相关产品推荐

