Android высвобождает историю задач, когда фоновые процессы ограничены 1

Сценарий:

Мое приложение делает следующее:

  • Показывает кнопку
  • Когда я нажимаю кнопку, в моей задаче отображается новое действие из другого приложения.

Я ожидаю, что если я нажму обратно в этом новом действии, я вернусь к своему заявлению. Это происходит при стандартной работе.

Однако, если я установлю "Предел фонового процесса" на "1 процесс", это перестанет работать; ответный удар просто возвращает к панели запуска задач. Android не пытается восстановить (уничтоженные) действия ранее в моем стеке задач. (их метод onCreate никогда не вызывается)

Я пытался поместить android:alwaysRetainTaskState="true" в корневое действие (и в каждое действие, с которым взаимодействует пользователь), но это, по-видимому, некорректное поведение сохраняется.

Это преднамеренное поведение в Android? Может ли пользователь в реальном мире когда-либо сталкиваться с таким поведением моего приложения?

1 ответ

Решение

Переход к другому приложению запустит другой процесс. Если предел фонового процесса равен "1", то ваше приложение будет уничтожено. Если вы не используете службы, которые не находятся на переднем плане. Прочитайте этот пост:

https://android.stackexchange.com/questions/62387/are-there-any-downsides-or-risks-to-limiting-background-processes

Так что, да, пользователь может испытать это. Однако этот пользователь, вероятно, знает, что он ограничил фоновый процесс чем-то необычным и, скорее всего, изменит его, чтобы "исправить" любое нежелательное поведение.

Другие вопросы по тегам