1

假设我有三个活动 A、B 和 C。这些活动都使用套接字连接来接收数据。socket连接是Telnet连接,不能随意关闭重连。

如果当前返回栈是A > B > C,Activity A可能会被Android销毁,所以不能在onDestroy()方法中关闭socket,否则Activity C无法从socket接收数据。

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

谢谢!!

4

1 回答 1

0

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

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

于 2012-07-15T14:33:43.220 回答