如何在Android中处理涉及套接字的活动生命周期?

Hen*_*rik 3 sockets android application-lifecycle

  • 我有一个Android活动,反过来启动一个线程.
  • 在线程中我打开一个持久的TCP套接字连接.
  • 当套接字连接到服务器时,下载动态数据.
  • 在收到数据时,线程使用Handler-class向活动发送消息.

现在,如果用户碰巧从纵向模式切换到横向模式,则活动将获得onDestroy调用.此时我关闭套接字并停止线程.

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

因此问题在于,当横向模式改变时,存在大量重新发送的数据.

我有什么选择?

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

欢迎所有输入:-)

/亨利克

Yan*_*min 6

要么阻止重新启动活动(在Android上旋转时重新启动活动),要么实现应用程序管理的服务.Service方法非常受我所见过的应用程序的欢迎,并且在拆除连接时可以提供一些灵活性.