4

我正在使用 Crashlytics for android,它确实帮助我修复了许多崩溃问题。但是今天我遇到了一个小问题。

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

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

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

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

提前致谢。

日志猫:

 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]
4

1 回答 1

10

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

于 2013-10-02T15:45:13.733 回答