Firebase 崩溃报告如何初始化
How does Firebase crash reporting initialize
我非常好奇为什么在应用程序中编写了 0 代码,而所需要的只是使用库
compile 'com.google.firebase:firebase-crash:9.0.1'
为了使 firebase 崩溃报告正常工作。
初始化是否总是一次性的事情,就像应用程序 class' onCreate 总是只被调用一次一样?
如果我只想在特定事件后启用崩溃报告,我该怎么办?
更新:现在有一个关于 how Firebase components initialize 的综合博客 post。
Firebase 崩溃报告(以及其他 Firebase 组件)在自动包含在您的应用中的 ContentProvider 中初始化。首先实例化 ContentProvider,然后是您的 Application 子类,然后是调用的任何组件(Activity、Service、BroadcastReciever)。
当您的项目依赖于一个 Android 库项目(aar 文件)时,它的所有清单条目都会合并到您的应用程序中,因此您只需声明对 firebase 的依赖即可免费获得此 ContentProvider-崩溃。
我在 Google I/O 2016 年发表了关于这一切如何运作的演讲。 Jump to 16:22 崩溃报告特定内容的开头。
遗憾的是,目前无法以编程方式启用或禁用崩溃报告,但即将推出。
所以基本上,当我使用 Firebase 崩溃报告时,我不得不在 ContentProvider
中进行初始化。因此,我的应用程序有 2 个进程,如果我在 Application.onCreate
中执行初始化,那么它会被调用两次 - 每个进程一次。但是其他进程不关心我的初始化代码,所以我不想做两次。所以我可以使用 ContentProvider
或检查当前进程名称。
或者我还有什么遗漏的吗?
我非常好奇为什么在应用程序中编写了 0 代码,而所需要的只是使用库
compile 'com.google.firebase:firebase-crash:9.0.1'
为了使 firebase 崩溃报告正常工作。 初始化是否总是一次性的事情,就像应用程序 class' onCreate 总是只被调用一次一样?
如果我只想在特定事件后启用崩溃报告,我该怎么办?
更新:现在有一个关于 how Firebase components initialize 的综合博客 post。
Firebase 崩溃报告(以及其他 Firebase 组件)在自动包含在您的应用中的 ContentProvider 中初始化。首先实例化 ContentProvider,然后是您的 Application 子类,然后是调用的任何组件(Activity、Service、BroadcastReciever)。
当您的项目依赖于一个 Android 库项目(aar 文件)时,它的所有清单条目都会合并到您的应用程序中,因此您只需声明对 firebase 的依赖即可免费获得此 ContentProvider-崩溃。
我在 Google I/O 2016 年发表了关于这一切如何运作的演讲。 Jump to 16:22 崩溃报告特定内容的开头。
遗憾的是,目前无法以编程方式启用或禁用崩溃报告,但即将推出。
所以基本上,当我使用 Firebase 崩溃报告时,我不得不在 ContentProvider
中进行初始化。因此,我的应用程序有 2 个进程,如果我在 Application.onCreate
中执行初始化,那么它会被调用两次 - 每个进程一次。但是其他进程不关心我的初始化代码,所以我不想做两次。所以我可以使用 ContentProvider
或检查当前进程名称。
或者我还有什么遗漏的吗?