【发布时间】:2018-02-28 06:29:20
【问题描述】:
我的应用程序在后台运行一段时间后失去与 Firebase 实时数据库的连接...换句话说,当我在后台运行一段时间后再次重新打开我的应用程序时,实时数据库服务停止运行,直到我清除手机设置中的应用程序数据和一切恢复正常......我阅读了类似的案例,发现Android在后台放置特定时间后会破坏与Firebase的资源(套接字连接)。但是,在返回应用程序后没有提供直接的解决方案来恢复连接......所以有什么帮助吗?
【问题讨论】:
-
您正在测试的设备或模拟器的 API 级别是多少?
-
API 级别为 24。
-
我尝试使用 API 24 模拟器和使用 Firebase 版本 11.2.2 构建的测试应用程序来重现该问题。我使用
adb命令强制更改空闲状态(Doze Mode)。对于我所做的少数测试,websocket 连接总是在退出打盹模式时重新建立。如果您的应用程序不需要在后台连接,请考虑删除onStop()方法中的所有侦听器并在onStart()中重新附加它们。这样一来,Firebase 将在后台运行一分钟后完全断开连接。并且.. -
并且当应用程序进入前台时重新连接监听器时会重新连接。
标签: android firebase firebase-realtime-database