【发布时间】:2011-02-25 18:17:57
【问题描述】:
- 我有一个 Android 活动,它反过来启动一个线程。
- 在线程中,我打开了一个持久的 TCP 套接字连接。
- 当套接字连接到服务器时,动态数据被下载。
- 当接收到数据时,线程使用 Handler 类向 Activity 发送消息。
现在,如果用户碰巧从纵向模式切换到横向模式,则 Activity 会收到 onDestroy 调用。此时我关闭套接字并停止线程。
当 Android 切换横向模式时,它会再次调用 onCreate,我必须重新连接套接字。此外,活动收到的所有数据都需要再次下载,因为服务器无法知道之前发送过的内容,即没有“恢复”功能。
因此问题在于,当横向模式更改时,会一直重新发送大量数据。
我在这里有什么选择?
- 我是否应该创建一个服务来处理流向服务器的套接字流量,这样我总是可以得到服务器在服务中发送的所有数据。
- 或者我应该一起禁用横向模式吗?
- 或者我最好的选择是重写我的服务器,这是一项非常大的工作:-)
欢迎所有输入 :-)
/亨里克
【问题讨论】:
-
在您的情况下,最好的选择是告诉 Android 不要在每次屏幕旋转时破坏您的活动。在那里描述:stackoverflow.com/questions/456211/…
标签: android sockets application-lifecycle