こんにちは、サーバーとの tcp/ip 接続を作成するサービスにバインドする小さなチャット アプリケーションがあります。私はaidlを使用しています。
私の問題は、特に destroy メソッドで画面の向きを処理する方法がわからないことです。
サービスを常にオンラインにしたいのですが、アプリケーションが破壊されたときにサービスを停止したくありません。
今のところ、「リークされた接続の問題」を解決するために、「onDestroy」メソッド unbindService(conn) を使用しています。
アクティビティが再作成されたときに破棄された後、フリーズします。ありがとうございます。ここにいくつかのコード スニペットを示します。
serviceIntent = new Intent(getApplicationContext(),ChatService.class);
boolean result = bindService(serviceIntent, conn,Context.BIND_AUTO_CREATE);
startService(new Intent(getApplicationContext(),ChatService.class));
Log.d(TAG, "Service binded");
@Override
protected void onDestroy() {
Log.d(TAG, "ON DESTROY");
unbindService(conn);
super.onDestroy();
}