当我想关闭套接字时如何处理应用程序终止?

时间:2012-07-15 14:18:45

标签: android sockets application-lifecycle

假设我有三个活动A,B和C.这些活动都使用套接字连接来接收数据。套接字连接是Telnet连接,因此无法任意关闭和重新连接。

如果当前后栈是A> B> C,Activity A可能被Android销毁,因此我无法在onDestroy()方法中关闭套接字,否则Activity C将无法从套接字接收数据。

我希望在应用终止时关闭套接字。当我按下根活动上的BACK时,我可以手动关闭它。但是,如果应用程序在后台被杀死,我该如何处理这种情况以关闭套接字并释放相关资源?

谢谢!

1 个答案:

答案 0 :(得分:0)

实际上我建议您只使用一个Activity /任务进行通信。所有其他人应该使用CommunicationManager。还要记住onDestroy并不总是被调用。在开始/结束时使用onPause - 用于活动 - 确保以井井有条和安全的方式结束所有内容。

基本上我会创建一个处理通信的异步后台任务,这样你的UI就不会被阻止。