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

时间:2013-10-02 14:58:35

标签: android crashlytics

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

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

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

我将尝试将Crashlytics.start(this)函数放入asynctask中,并在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]

1 个答案:

答案 0 :(得分:10)

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