Перейти к основному содержанию

Организация многозадачности в Android

Приложения для Android включают в себя несколько компонентов. Выделяют четыре основных типа: Activities, Services, Broadcast receivers и Content providers.
Activities представляют собой графический пользовательский интерфейс для определенной задачи. Например, приложение для SMS может иметь одно activity для вывода списка контактов, одно для создания сообщения и т.д. Activity может находиться в одном из трех состояний:

  • Active или running – в этом состоянии он находится на переднем плане и взаимодействует с пользователем
  • Paused– находится на втором плане, но виден пользователю, например, частично перекрыт новым activity
  • Stopped– полностью перекрыт другим activity. Но он по-прежнему сохраняет своё состояние, хотя и полностью скрыт от пользователя

В состояниях Paused и Stoppedactivity может быть выгружен из памяти. Иногда возникает ситуация, когда пользователь, возвращаясь к выгруженному activity, хотел бы его увидеть в изначально оставленном состоянии. Такое возможно, если перед выгрузкой activity вызвать метод on Save Instance State, а во время восстановления или создания activity вызвать метод on Restore Instance State. В этом случае возможно сохранение текущего (на момент выгрузки) состояния activity. Здесь уместно провести аналогию с режимом гибернации в ОС для ПК.