Использование диалоговых окон и действий

В разработке Android, где требуется всплывающее взаимодействие с пользователем в большинстве случаев можно использовать либо "диалог", либо "активность". Исключая крайние случаи, когда выбор прост, я хотел бы знать ваши идеи по которым предпочтительнее.

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

Мне хотелось бы получить все возможные проблемы для обоих случаев (производительность, побочные эффекты, проблемы взаимодействия с пользователем и т.д.).

Ответ 1

Если у вас меньше времени на выполнение задачи и которая требует внимания пользователя (потому что вы не можете получить доступ к содержимому строки состояния), вы должны использовать диалог, например, ввести имя пользователя и пароль и т.д.

Недостатки диалогового окна:

  • Вы не можете обрабатывать любые изменения конфигурации, такие как ориентация, изменение языка и т.д.
  • Никакой способ сохранить состояние, например, не может перейти на другой экран и вернуться
  • Производительность мудрая, только диалоговое окно создается все время
  • Не удается получить доступ к полноэкранному
  • Невозможно запустить его с помощью каких-либо намерений