Сценарий:
У меня четыре действия в приложении для Android, давайте скажем A, B, C и D. В приложении есть один класс Constants.java
, который расширяет класс Application
, чтобы поддерживать состояние глобального приложения. Класс Constants имеет все постоянные переменные приложения. Поток активности подобен этому A-->B-->C-->D
. Когда нажимается кнопка "Назад" из Activity A, я вызываю метод finish(), который завершит действие A и закроет приложение. После этого, если я открываю приложение из всех приложений, в Constants.java
есть переменная, значение которой сохраняется от последнего запуска. То же самое не происходит, когда я делаю System.exit(10)
, а затем Process.killProcess(Process.myPid())
из действия A (нажимается назад).
Вопросы:
- Будет ли завершение всех действий вызовом finish() каждого действия закроет приложение (его процесс)?
- Как значение переменной сохраняется, даже если все действия завершены (закрыты)?
- Можно ли позвонить
System.exit(10)
, а затемProcess.killProcess(Process.myPid())
для выхода из приложения?
Update:
Как я могу очистить константы приложения при выходе из приложения (Back press of HomeActivity)?