0

次のオブジェクトを持つ IP クライアント アプリケーションがあります。

  1. SocketIP サーバーに接続されたインスタンス。

  2. Threadインスタンス、実行中ThreadFunction。この関数は、ソケットが接続されると、ソケットを継続的に読み取ります。

今、アクティビティが再作成されたとき(たとえば、画面の向きを変更した後)に何をすべきかを理解しようとしています。Socketインスタンスが失われていますか? はどうなりThreadFunctionますか?反対側の動作 (IP サーバー) を見ると、クライアントである Android アプリケーションが切断されていないことがわかります。では、この場合の私の戦略はどうあるべきですか? これらのリソースを再度作成する必要がありますか、それとも何らかの方法でそれらを復元する必要がありますか?

4

2 に答える 2

1

アプリケーションが破棄されたときにリソースに何が起こるかに関するあなたの質問への答えは、ソケットとランナブルを含むすべてがなくなるということです。

サーバー側からでも、サーバーがソケットを介して通信しようとするとすぐにソケットがなくなります。

すでに述べたように、最善の解決策は、サービスを使用して管理することです。アクティビティを使用するのと非常によく似ています。いくつかの例を参照することをお勧めします。

サービスを使用せずに現在のものを一貫したものにしたい場合は、画面の回転を無効にしてandroid:configChanges="orientation"AndroidManifest.xml

于 2012-10-10T17:59:36.473 に答える
1

Serviceの使用をお勧めします。あなたが求めていることをするように設計されています。

于 2012-10-10T15:47:52.053 に答える