Почему во всех рилсах не рассказывают, что у мессенджера с мужским именем латинского происхождения в настройках айфона есть кнопка Background App Refresh, которую можно отключить?
При активированной функции система предоставляет приложениям короткие интервалы для фоновой работы. В это время программа может:
- загрузить новую информацию с сервера;
- обновить локальный кэш;
- синхронизировать данные с облаком;
- заранее подготовить контент для быстрого отображения.
Если функцию отключить, то при деактивированном фоновом обновлении:
- приложение не получает время на работу в фоне;
- сетевые запросы выполняются только при активном использовании;
- контент подгружается в момент открытия программы.
Эта настройка не влияет на доставку уведомлений, так как чаще всего push-сообщения поступают через централизованный сервис (APNS — Apple Push Notification Service), независимо от статуса фонового обновления. То есть уведомления продолжат приходить, но само приложение не успеет заранее подгрузить контент — вы увидите текст в пуше, но для просмотра деталей потребуется дождаться загрузки после открытия.
Но!
Даже при отключённой настройке приложение иногда может обновиться в фоне. Это происходит через механизм silent push — специальные служебные «сигналы» от сервера, которые не отображаются пользователю, но позволяют программе на несколько секунд активироваться для синхронизации данных.
- iOS может проигнорировать слишком частые silent push;
- система учитывает заряд батареи, качество сети и поведение пользователя;
- если приложение давно не открывали, фоновые пробуждения могут прекратиться.
Есть еще Background Tasks, но в мессенджерах их обычно не используют. Они живут на silent-пушах.
Я про что? Да так к слову просто.