Сценарий:
Я четыре мероприятия в моем Android Application, позволяет сказать, что 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 (на спине нажатой).Что происходит, когда заканчиваются все действия приложения?
Вопросы:
- Будет отделка всех действий по телефону закончить() каждый вид деятельности будет закрыть приложение (его процесс)?
- Как значение переменной сохраняется, даже если все ее действия закончены (закрыты)?
- Справедливо ли звонить по телефону
System.exit(10)
, а затемProcess.killProcess(Process.myPid())
для выхода из приложения?
Update:
Как очистить константы приложения на выходе из приложения (Назад в пресс HomeActivity)?
Константы по определению не меняются, так зачем беспокоиться об их очистке? – m0skit0
Прост: не вызывать 'System.exit()' (не рекомендуется вообще, как обсуждалось в SO). Просто очистите переменные, когда HomeActivity будет завершена. –