android - 在 android 的 onCreate 方法上初始化 Crashlytics 是个好主意吗?

标签 android crashlytics

我正在使用 Android 版 Crashlytics,它确实帮助我解决了很多崩溃问题。但今天我遇到了一点问题。

当我尝试在通过 wi-fi(使用代理)连接到互联网的 2.3.3 Galaxy S 设备上测试 crashlytics 时,我在设备上看到黑屏大约 2:30 分钟。调试时;我看到 Crashlytics.start(this) 代码不是异步的。它等待建立连接,因此 onCreate 方法无法由 UI 线程完成。(这解释了黑屏)。

我知道这是一个代理问题(代理设置在 2.3.x 设备上有点错误)但是等待大约 2:30 分钟使我的应用黑屏。这让我担心这可能发生在任何其他现实生活条件下,例如互联网连接不良。

我将尝试将 Crashlytics.start(this) 函数放入异步任务中,并将在每个 Activity 的 onCreate 方法上尝试此操作。 (AFAIK 没有检查 isCrashlyticsInitialized 的方法)

有没有人对此有更好的想法?

提前致谢。

LOGCAT:

 10-02 16:01:38.410: D/Crashlytics(1561): Initializing Crashlytics 0.9.11.11 
 10-02 16:04:19.664: E/Crashlytics(1561): Network error while loading Crashlytics settings. Crashes will be cached until the network is available.
[URL=https://settings.crashlytics.com/api/v2/keys/KEY/platforms/android/apps/com.myapp/settings.json?libVersion=0.9.11.11&bundleVersion=441210&shortBundleVersion=2.1];[class java.net.SocketTimeoutException: Connection timed out]

最佳答案

这里是来自 Crashlytics 的 Marc。在较新版本的 SDK 中,Crashlytics.start() 在后台线程中完成所有繁重的工作。您的日志表明您使用的是 v0.9.11。更新到最新版本 (v1.0.4) 后,您可以将 Crashlytics.start 保留在 Application 子类中。如果您需要任何更新方面的帮助,请通过 crashlytics.com 的支持联系我们!

关于android - 在 android 的 onCreate 方法上初始化 Crashlytics 是个好主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19140066/

相关文章:

android - Glide库支持exif旋转

android - 自定义范围内没有出现 - Fabric

firebase - Flutter Crashlytics 日志捕获异常

ios - 从 Fabric Crashlytics 迁移到 Firebase Crashlytics

android - 如何更改最近应用程序上的磁贴

android - 为什么要为 fragment 创建一个额外的 FrameLayout?

java - ClassCastException : java. lang.Object[] 无法转换为 java.lang.Double

适用于平板电脑的 Android 模拟器

iOS 应用程序未出现在 Fabric Crashlytics 中

firebase - 找不到 com.crashlytics.sdk.android :crashlytics:17. 2.2