如何处理Android中涉及套接字的活动生命周期? 我有一个Android活动,它反过来启动一个线程 在线程中,我打开了一个持久的TCP套接字连接 当套接字连接到服务器时,将下载动态数据 当接收到数据时,线程使用处理程序类向活动发送消息

如何处理Android中涉及套接字的活动生命周期? 我有一个Android活动,它反过来启动一个线程 在线程中,我打开了一个持久的TCP套接字连接 当套接字连接到服务器时,将下载动态数据 当接收到数据时,线程使用处理程序类向活动发送消息,android,sockets,application-lifecycle,Android,Sockets,Application Lifecycle,现在,如果用户碰巧从纵向模式切换到横向模式,则活动将获得onDestroy调用。此时,我合上插座并停止线程 当Android切换横向模式时,它再次调用onCreate,我必须重新连接套接字。此外,需要再次下载活动收到的所有数据,因为服务器无法知道以前发送了什么,即没有“恢复”功能 因此,问题在于,当横向模式改变时,有大量的数据一直在重新传输 我的选择是什么 我是否应该创建一个服务来处理通向服务器的套接字通信,因此我总是获得服务器在服务中发送的所有数据 或者我应该一起禁用横向模式吗 或者我最好的

现在,如果用户碰巧从纵向模式切换到横向模式,则活动将获得onDestroy调用。此时,我合上插座并停止线程

当Android切换横向模式时,它再次调用onCreate,我必须重新连接套接字。此外,需要再次下载活动收到的所有数据,因为服务器无法知道以前发送了什么,即没有“恢复”功能

因此,问题在于,当横向模式改变时,有大量的数据一直在重新传输

我的选择是什么

  • 我是否应该创建一个服务来处理通向服务器的套接字通信,因此我总是获得服务器在服务中发送的所有数据
  • 或者我应该一起禁用横向模式吗
  • 或者我最好的选择是重写我的服务器,这是一项非常大的工作:-)
欢迎所有输入:-)


/Henrik

阻止活动重新启动()或实现应用程序管理的服务。这种服务方法在我所见过的应用程序中非常流行,并且在断开连接时允许您有一定的灵活性。

在您的情况下,最好的选择是告诉Android不要在每次屏幕旋转时破坏您的活动。此处描述:明确创建
服务
;你将有同样的“生命周期”问题,不仅是当屏幕旋转时,而且当用户按Home键、来电、屏幕闲置等时……感谢您的输入!非常感谢。