У меня есть приложение со многими формами, реализованными как отдельные действия. Переменные формы динамически создаются на основе базы данных, и на стороне C ++ приложения имеется масса переменных (доступ к которым осуществляется через JNI). Я не вижу, как сохранение всех этих данных в постоянном хранилище каждый раз, когда onPause () или onSaveInstanceState () одного из этих многочисленных действий переходит в фоновый режим, является разумным использованием процессорного времени. И я не понимаю, как, даже если бы я сохранил локальные переменные для каждого действия в течение этого времени, я смог бы восстановить одно действие в контексте всех остальных.
Я настроил службу, которая автоматически сохраняет файлы, когда обнаруживает, что приложение ушло в фоновый режим. (Я устанавливаю метку времени, когда onPause () вызывается в любом действии, а затем очищаю метку времени, когда onResume () вызывается для любого другого действия. Если истекшее время превышает несколько секунд, я знаю, что я не больше активности, и сервис сохраняет файлы).
То, что я хотел бы сделать, это продолжать в обычном режиме, если только ОС не убивает одно из моих действий. Поскольку мы не всегда получаем уведомление об этом, я подумал, что было бы неплохо, если бы был способ сообщить ОС, что я бы предпочел, чтобы вы убили все приложение, а не только одно действие.
Заранее спасибо!