почему в API 28 приложение действительно не убивается, когда установлен флажок «Предел фоновых процессов - Нет фоновых процессов» - PullRequest
0 голосов
/ 18 октября 2019

с android os 7.1.1, когда установлен флажок «Предел фоновых процессов - без фоновых процессов» (в настройках параметров разработчика), когда приложение свернуто и снова открыто, все глобальные данные, такие как val ViewModelDataMap = HashMap<String, Data>(), which is defined in file level - not inside any class, уничтожаются.

(также имеет настройку dont keep activity alive)

, но с API 28, при повторном открытии приложения на карте все еще сохраняются старые данные на карте, кажется, что приложение не былоуничтожен (хотя трассировка показывает, что onDestroy () операции / фрагмента вызывается).

почему поведение отличается? Что с API 28, что ОС не будет разрушать процесс приложения, даже если выбран "Background process limit - No background processes"?

1 Ответ

0 голосов
/ 18 октября 2019

Я не уверен, у меня был бы полный ответ. Однако причина фоновых процессов изменилась из-за новой конфигурации LMKD, начиная с Pie Android 28. Изменений много, но в документации мало слов только об этом,

Относительно Не вести деятельность . Он должен работать в любой версии, потому что это совершенно другая вещь и не определяется здесь термином process. Это еще одна простая оптимизация, для очистки Activities в фоновом режиме (где процесс может быть еще жив).

...