Использование методов / структур stati c для передачи данных между действиями - PullRequest
1 голос
/ 18 марта 2020

Если я хочу передать данные между действиями в одном приложении, а) я могу использовать Intent или б) использовать базу данных (передавая идентификатор в Intent вместо полных данных.
Но Я также мог бы использовать c) класс со структурами данных stati c, к которым обе операции могут обращаться с сохранением / извлечением.
Каковы недостатки использования (c), если меня не волнует сохранение данных при перезапуске приложения?

1 Ответ

2 голосов
/ 18 марта 2020

Большим минусом является то, что ОС Android может убить ваш процесс в любое время. Когда процесс будет воссоздан, Android воссоздает все ваши действия, восстанавливая их состояние.

Поскольку Android не знает о том, как должны обрабатываться ваши данные о состоянии c, вы потеряете его, и действие B будет в несовместимом состоянии.

Я приведу пример, который будет более понятным:

  1. Запущено действие A
  2. A нажата кнопка в действии A
  3. Stati c структуры данных заполняются перед запуском Activity B
  4. Запущено действие B, которое может получить доступ к данным stati c
  5. Android ОС автоматически убивает ваш процесс
  6. Действия A и B восстанавливаются
  7. Статистические структуры данных c не заполняются, так как они были бы заполнены, если кнопка в действии A нажал
  8. Операция B находится в несогласованном состоянии
...