シナリオ:
私の Android アプリケーションには 4 つのアクティビティがあります。A、B、C、D としましょう。アプリには、アプリケーションのグローバルな状態を維持するためにクラスConstants.javaを拡張するクラスが 1 つあります。ApplicationConstants クラスには、アプリのすべての定数変数があります。活動の流れはこんな感じA-->B-->C-->Dです。アクティビティ A から戻るボタンが押されたときに、アクティビティ A を終了してアプリケーションを閉じる finish() メソッドを呼び出しています。その後、すべてのアプリからアプリを開くとConstants.java、最後の起動から値が保持される変数があります。アクティビティAから(バックプレスで)System.exit(10)続けているときは、同じことは起こりません。Process.killProcess(Process.myPid())
質問:
- 各アクティビティのfinish()を呼び出してすべてのアクティビティを終了すると、アプリケーション(そのプロセス)が閉じますか?
- すべてのアクティビティが終了 (終了) した場合でも、変数の値はどのように保持されますか?
- アプリケーションを終了するため
System.exit(10)に呼び出すのは公平ですか?Process.killProcess(Process.myPid())
アップデート:
アプリケーションの終了時にアプリケーション定数をクリアするにはどうすればよいですか (HomeActivity の Back キーを押します)?