Android Bug经过很长一段时间

时间:2016-12-15 06:53:20

标签: android debugging

我有一个错误,我无法在命令或模拟器​​上重现,但似乎是在物理设备中长时间独自离开应用程序后发生的。

所有片段仍然是响应式的,但消息似乎不会从一个片段传递到另一个片段。

我最好的猜测是,某种垃圾收集可能会破坏链接。非常模糊的问题,但我很绝望:

  • 什么可能导致这种“很长一段时间”(即几小时)后发生的错误?如果我怀疑应用程序没有成功“恢复”,我应该在我编写的代码中寻找什么?

  • 此外,adb logcat通过usb debug连接物理设备时,应显示我使用log.e()打印的任何错误消息,对吗?

对于未来的googlers和其他新手编码器 - 今天我了解到,保存对您创建的片段的引用。或者,不要使片段成为局部变量。我不需要对片段的引用,只需要包含视图。结果,片段被垃圾收集并且在恢复时重新创建了新片段,从而破坏了通信链接。

1 个答案:

答案 0 :(得分:1)

声音就像活动(/片段)不再保存在内存中 - Android框架可能会在后台或后台堆栈中破坏您的活动,您应该编写活动以便它们在此时正常运行发生。为了超越此覆盖onSaveInstanceState方法。

您可以将其发生并尝试通过开发者选项重现 - >不要保持活动