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

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

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

因此问题在于,当横向模式更改时,会一直重新发送大量数据。

我在这里有什么选择?

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

欢迎所有输入:-)

/ 亨里克

4

1 回答 1

6

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

于 2010-05-30T19:29:29.280 回答