0

我有具有以下对象的 IP 客户端应用程序:

  1. Socket实例连接到 IP 服务器。

  2. Thread例如,执行ThreadFunction. 此函数在连接时连续读取套接字。

现在我试图了解,当重新创建活动时(例如,在更改屏幕方向后)我应该怎么做。Socket实例丢失了吗?会发生什么ThreadFunction?查看另一端行为(IP 服务器),我看到客户端 Android 应用程序没有断开连接。那么,在这种情况下我的策略应该是什么:我应该再次创建这些资源,还是尝试通过某种方式恢复它们?

4

2 回答 2

1

我建议使用Service。它旨在满足您的要求。

于 2012-10-10T15:47:52.053 回答
1

与应用程序被销毁时资源会发生什么有关的问题的答案是,一切都消失了,包括套接字和可运行文件。

即使从服务器端,只要服务器尝试通过它进行通信,套接字就会消失。

如前所述,您最好的解决方案是使用服务对其进行管理。使用活动非常相似,我鼓励你看几个例子。

如果您真的想在不使用服务的情况下使您现在拥有的内容保持一致,您可以禁用屏幕旋转添加android:configChanges="orientation"AndroidManifest.xml

于 2012-10-10T17:59:36.473 回答