Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 当我想关闭套接字时,如何处理应用程序终止?_Android_Sockets_Application Lifecycle - Fatal编程技术网

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

Android 当我想关闭套接字时,如何处理应用程序终止?,android,sockets,application-lifecycle,Android,Sockets,Application Lifecycle,假设我有三个活动A、B和C。这些活动都使用套接字连接来接收数据。套接字连接是Telnet连接,因此不能任意关闭和重新连接 如果当前后台堆栈是A>B>C,Activity A可能会被Android破坏,因此我无法在ondestory()方法中关闭套接字,否则Activity C将无法从套接字接收数据 我想在应用程序终止时关闭套接字。我可以在按下根活动上的BACK键时手动关闭它。但是,如果应用程序在后台被杀死,我如何处理这种情况以关闭套接字并释放相关资源 谢谢 实际上,我建议您只使用一个活动/任务进

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

如果当前后台堆栈是A>B>C,
Activity A
可能会被Android破坏,因此我无法在
ondestory()
方法中关闭套接字,否则
Activity C
将无法从套接字接收数据

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


谢谢

实际上,我建议您只使用一个
活动
/任务进行沟通。所有其他人应使用
通信管理器
。还要记住,
ondestory
并不总是被调用。在活动开始/结束时使用
onPause
,确保以一种组织良好且安全的方式结束所有工作

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