Различия между Foreground и background

Различия между Foreground и background

t.me/qa_chillout

В мобильных приложениях не всё происходит на виду. Иногда пользователь активно взаимодействует с приложением (нажимает кнопки, смотрит контент). А иногда — приложение вроде бы "ушло", но продолжает делать что-то важное в фоновом режиме (например, скачивает данные, проигрывает музыку, считает шаги, присылает уведомления). Это и есть два ключевых режима работы:

  • Foreground (передний план) — когда приложение перед глазами пользователя, он им активно пользуется.
  • Background (фон) — когда приложение свёрнуто или не активно, но продолжает что-то делать без прямого участия пользователя.

На мобильных платформах, таких как Android и iOS, то, находится ли приложение в переднем плане или в фоне, зависит от того, виден ли сейчас экран приложения. В Android это управляется через Activity, в iOS — через ViewController или Scene. Если пользователь видит экран и взаимодействует с ним, приложение считается в переднем плане. Если его свернули или переключились на другое — оно переходит в фоновый режим.

Foreground (передний план)

Это когда приложение открыто на экране, и вы им пользуетесь прямо сейчас.

Примеры:

  • Открыт мессенджер и вы переписываетесь в нём.
  • Смотрите видео на YouTube.
  • Используете навигатор — экран включен, маршрут показан.

Что важно:

  • У приложения высокий приоритет.
  • Оно может использовать максимум ресурсов телефона (процессор, память).
  • Оно должно работать быстро, иначе появится сообщение "Приложение не отвечает".

Background (фон)

Это когда приложение свернуто или вы переключились на другое, но оно ещё что-то делает.

Примеры:

  • Музыка продолжает играть, но вы в другом приложении.
  • Файлы загружаются, пока вы читаете новости.
  • Приложение считает шаги, даже когда не открыто.

Что важно:

  • У него меньший приоритет, и телефон может его остановить, если не хватает ресурсов.
  • Оно ограничено: не всё можно делать в фоне (например, нельзя долго использовать GPS).
  • Для стабильной фоновой работы надо использовать специальные инструменты (например, WorkManager на Android).


Понимание этих состояний важно как для разработчиков, так и для тестировщиков, потому что:

  • Поведение приложения сильно меняется в зависимости от состояния.
  • Телефон может по-разному ограничивать доступ к ресурсам (например, к фоновым задачам или сетевым операциям).
  • Неправильная работа в фоне — например, бесконтрольные запросы к сети, активные таймеры или незавершённые фоновые задачи — может привести к быстрому разряду батареи, зависаниям или даже к тому, что система принудительно закроет приложение.
  • Некоторые баги проявляются только при переходах между этими режимами: например, теряется соединение, сбрасываются данные, перестают приходить уведомления.


Базовые сценарии для тестирования переходов foreground ↔ background:

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


Обсудить статью, узнать больше можно в телеграм канале «Тестировщики нужны».

Report Page