переменную при помощи onSaveInstanceState (для поворота экрана, допустим) и выходя из прилаги по кнопке Back есть 2 варика
1) Если переменная объявлена внутри класса mainActivity при повторном заходе в прилагу счетчик нажатий обнуляется. Это логично, по Back вызвался onDestroy и убил всё, что нужно.
2) Если переменная объявлена снаружи класса (чет вроде global), при повторном заходе в прилагу счетчик висит.
Следовательно 2 вопроса
1) А что, собственно, происходит во 2 случае? Тип андроид хранит недоубитый процесс моей прилаги и значения глобальных переменных в том числе?
2) Есть ли реальный юз-кейс для такого? Или делать глобальные переменные это прям отстой и я пойму, как сохранять cross-activity дату, когда дойду до local database вроде room?
Если вдруг нужен код
На сколько я понимаю, процесс убьется не сразу. Ну и тогда да, статические переменные будут жить, пока жив процесс. Юзкейсов у этого нет, никогда не пытайся так данные бекапить при смерти активити
Активити может быть уничтожена как сущность. Но процесс приложения в ОС имеет свой жизненный цикл. Пока процесс не уничтожен, все static переменные помнят свои значения
Обсуждают сегодня