我的应用使用this library建立了与URL的websocket连接。一切都很好。该应用程序是一个通信应用程序(发送和接收消息)。当应用程序进入后台(按主页键)时,websocket连接仍然有效,用户会收到新消息的推送通知。
问题在于,当应用程序处于后台时,经过一段时间后,websocket连接会自动断开连接。现在这个时间间隔每次都不同(有时是5秒,有时是5分钟)。
现在问题不在于URL(没有空闲时间/超时问题 - 相信我,它在其他平台上运行正常)。所以我正在寻找这种行为的可能原因,以便我可以解决问题。
当应用程序进入后台时,如何断开websocket连接。另外,我应该运行连续后台服务作为补救措施吗?
PS:现在应用中没有服务。当应用程序进入后台时,库应该让websocket连接运行。
答案 0 :(得分:0)
问题是,当应用程序处于后台运行时,您正在使用的库不会停止连接...但是,Android可能会终止该进程。
Service
专门用于防止出现此问题。如果您在Service
中实施它,它应该可以解决您的问题。
请注意:仅仅因为你可以这样做并不意味着你应该这样做。实施Service
时,请注意内存和电池使用情况。它们旨在无限期地在后台运行 - 如果你有CPU /电池密集型代码,你可以让一些用户非常不满意,或者如果消耗太多内存,Android可能会杀死Service
。