0

onCreate メソッド内でサーバーに接続するアクティビティがあります。画面を回転させても接続を開いたままにしておく必要があるため、静的変数への参照を保存します。

例:

public class Main extends Activity 
{
   protected static MyConnector connector;

   public void onCreate(Bundle savedInstanceState) 
   {
      if (connector == null)
      {
         connector = new MyConnector();
      }
   }
}

Main から別のアクティビティを開く場合は接続を開いたままにする必要がありますが、Main アクティビティを閉じる場合は閉じる必要があります。

私が抱えている問題は、接続をいつ/どのように閉じるかわからないことです。onDestroy 内で閉じると、向きが変わるとアクティビティが再作成されるため、画面を回転すると破棄されます。アクティビティ フォーカスで閉じると、次のアクティビティに移動すると閉じられます。だから... Main アクティビティが必要ないときだけ閉じて、永久に破棄したいと思います。

どうやってそれをしますか?どうも!

4

1 に答える 1

1

向きが変更されたときにアクティビティを保持するためにonConfigChanged()を使用しないでください。このように onDestroy() は、ユーザーがアクティビティを終了したときにのみ呼び出されます。

onConfigChanged ()の使用方法については、設定変更の処理(ページの下部) を参照してください。

onConfigChanged

「特定の構成変更中にアプリケーションがリソースを更新する必要がなく、アクティビティの再起動を回避する必要があるパフォーマンス制限がある場合は、アクティビティが構成変更自体を処理することを宣言できます。これにより、システムの再起動が防止されます。あなたのアクティビティ。」

于 2011-07-03T05:31:38.287 に答える