当我想关闭套接字时如何处理应用程序终止?
Posted
技术标签:
【中文标题】当我想关闭套接字时如何处理应用程序终止?【英文标题】:How do I handle the app termination when I want to close a socket? 【发布时间】:2012-07-15 14:18:44 【问题描述】:假设我有三个活动 A、B 和 C。这些活动都使用套接字连接来接收数据。 socket连接是Telnet连接,不能随意关闭重连。
如果当前返回栈是A > B > C,Activity A
可能会被android销毁,所以我不能在onDestroy()
方法中关闭socket,否则Activity C
将无法接收到数据插座。
我想在应用程序终止时关闭套接字。当我在根活动上按 BACK 时,我可以手动关闭它。但是,如果应用在后台被杀死,我该如何处理关闭socket并释放相关资源呢?
谢谢!!
【问题讨论】:
【参考方案1】:其实我建议你只使用一个Activity
/task 来沟通。所有其他人应使用CommunicationManager
。还要记住onDestroy
并不总是被调用。在您的开始/结束时使用 onPause
- 用于活动 - 以确保您以井井有条且安全的方式结束所有内容。
基本上我会创建一个异步后台任务来处理通信,这样您的 UI 就不会被阻塞。
【讨论】:
以上是关于当我想关闭套接字时如何处理应用程序终止?的主要内容,如果未能解决你的问题,请参考以下文章
如何处理应用程序启动时发生的 ASP.NET 应用程序错误以及 MVC 视图中的传输和显示错误?