シナリオ:
私は私のAndroidのアプリケーションの4つの活動をしましたが、世界的なアプリケーションの状態を維持するためにApplication
クラスを拡張するアプリで1つのConstants.java
クラスがあり、A、B、CおよびDを言うことができます。 Constantsクラスには、アプリケーションのすべての定数変数があります。アクティビティフローはA-->B-->C-->D
のようになります。アクティビティAから戻るボタンが押されているとき、私はアクティビティAを終了し、アプリケーションを閉じるfinish()メソッドを呼び出しています。その後、すべてのアプリからアプリを開くと、最後に起動したときに価値があるConstants.java
という変数があります。私がSystem.exit(10)
をやっていて、アクティビティAからのProcess.killProcess(Process.myPid())
(バックプレス時)が続いているとき、同じことは起こっていません。アプリケーションのすべてのアクティビティが終了したらどうなりますか?
質問:
- は、アプリケーション(そのプロセスを)閉じます各アクティビティの仕上がりを()を呼び出すことによって、すべての活動を終えたのだろうか?
- 変数の値は、すべてのアクティビティが終了しても(閉じられていても)どのように保持されますか?
- アプリケーションを終了するのに
System.exit(10)
に続いてProcess.killProcess(Process.myPid())
をコールするのは公正でしょうか?
更新:
どのように私は、アプリケーション(HomeActivityのバックプレス)の終了時にアプリケーション定数をクリアすることができますか?
という定数を設定していないので、それらをクリアするのはどうですか? – m0skit0
シンプル: 'System.exit()'を呼ばないでください。 HomeActivityが終了したら変数をクリアするだけです。 –