Как именно работает многозадачность в iOS?
Даже сотрудники сертифицированных магазинов, продающих технику Apple, не всегда способны точно и понятно объяснить, как же именно работает многозадачность в iOS-устройствах.
W440x0 02813

Среди пользователей iOS-устройств бытует множество ошибочных суждений, касательно того, как же все таки работает многозадачность в iOS и что именно происходит с приложениями после их закрытия. Некоторые ошибочно считают, что все приложения отображенные в панели многозадачности, которая появляется при двойном нажатии на кнопку «Домой», являются запущенными, тормозят устройство, используют память и сжирают заряд батареи — следовательно, считают пользователи, данные приложения необходимо закрывать вручную.

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

При нажатии кнопки «Домой» практически во всех случаях, кроме нескольких, о которых мы поговорим позже, приложение закрывается, высвобождая память и системные ресурсы. 

Пять состояний приложения в iOS 

iOS-приложения могут находится в одном из пяти состояний, а именно:

  1. Незапущенными: Приложение было закрыто или еще не было запущено.
  2. Неактивным: Приложение открыто, но не получает входящих команд (например, пользователь заблокировал устройство, оставив приложение открытым).
  3. Активным: Нормальное состояние используемого в данный момент приложения.
  4. Фоновым: Приложение уже не на экране, но еще выполняет какие то процессы.
  5. Отложенным: Приложение находится в памяти, но не выполняет процессов.

Состояния Активное и Неактивное интуитивно понятны, а вот что происходит с активным приложением при нажатии кнопки «Домой», и в каких других состояниях при этом находятся остальные приложения понятно не до конца.

Итак, при нажатии «Домой» приложение из Активного переходит в Фоновый режим, затем, обычно в считанные секунды, приложения из Фонового переходят в Отложенный режим, т.е. хранятся в памяти в развернутом виде, при этом не используя ресурсов. Это делается для того, чтобы их последующий запуск проходил более быстро. аппликации При этом, при запуске требовательного к ресурсам (особенно к памяти) приложения, iOS самостоятельно начнет переводить Отложенные приложения в режим Незапущенных, высвобождая таким образом необходимую память. Закрывать Отложенные приложения вручную необходимости нет и никогда не было.

Запутанность же возникает как раз в связи с панелью многозадачности на которой отображаются какие то иконки. Так вот, данные иконки не имеют никакого отношения к описанным выше состояниям приложения. Они просто отображают недавно запущенные пользователем аппликации, для облегчения последующего к ним доступа.

Фоновые задачи 

Возьмем приложение, которое загружает большие объемы данных из сети, например Instacast — программа для прослушивания аудиоподкастов. Когда Instacast активен, программа начинает качать подкасты. Если же нажать кнопку «Домой», приложению будет дано 5 секунд для завершения задач в Фоновом режиме, после чего оно будет переведено в Отложенный режим. Это прервет загрузку подкастов, которая занимает намного большее время. 

Но приложениям типа Instacast позволено задержаться в Фоновом режиме чуть дольше. Приложение заявляет iOS, что выполняет определенную задачу, назначенную пользователем, и получает дополнительное время для фоновой работы — около 10 дополнительных минут.

Неограниченная работа в фоновом режиме

Итак, все приложения в iOS получают около 5 секунд для работы в фоновом режиме, чтобы «подчистить хвосты», а некоторые программы дополнительные 10 минут, чтобы завершить какую-то более длительную задачу. Правда существуют некоторые приложения, которым iOS позволяет постоянно находится в Фоновом состоянии. Данные приложения можно разделить на пять основных типов:

  1. Проигрывание аудио: Приложения которые проигрывают аудиопоток в фоновом режиме, например тот же Instacast, воспроизводящий аудиоподкаст.
  2. Отслеживание местоположение через GPS: Навигационные и другие приложения, отслеживающие местоположение устройства в реальном времени и сообщающие пользователю различные данные так же могут работать в Фоновом режиме неограниченно долгое время.
  3. Мониторинг VoIP соединений: Приложения типа Skype и Viber, которые отслеживают входящие звонки через VoIP сети, также работают в iOS постоянно.
  4. Приложения Киоска: Все загрузки «Киоска» идут в фоновом режиме и не прекращаются.
  5. Сопряженные с аксессуарами приложения: Все приложения, которые получают входящие данные с различных подключенных к iOS-устройству аксессуаров не прекращают свою работу, пока подключено устройство.

Когда вышеуказанные приложения заканчивают выполнять задачу, они также переходят в режим Отложенных. Так же работают и многие системные приложения iOS, например приложение «Почта».

Работающее в Фоновом режиме приложение может выполнять функции наравне с Активным, а именно — работающий в Фоновом режиме Instacast также может скачивать новые эпизоды подкастов.

Разумеется, все фоновые приложения занимают память, потребляют ресурсы и расходуют батарею.

Заключение

Итак, подведем краткий итог ко всему вышесказанному и составим небольшое резюме:

  1. Если вам говорят, что приложения иконки которых отображены в панели многозадачности запущены и используют память, а также системные ресурсы — они не правы.
  2. При нажатии на кнопку «Домой» приложение переходит из Активного в Фоновое состояние, а затем в Отложенное состояние, при котором оно уже не расходует процессорную мощность и заряд батареи.
  3. Приложение может запросить дополнительное время для работы в Фоновом режиме для выполнения определенной задачи, после чего оно все равно перейдет в Отложенное состояние.
  4. В случае нехватки памяти iOS автоматически переводит Отложенные приложения в Незапущенные, т.е. попросту их закрывает.
  5. Пять групп приложений (аудио, GPS, VoIP, Киоск и аксессуары) могут работать в Фоновом режиме бесконечно долгое время. Так же поступают некоторые системные приложения, например «Почта».

По материалам: Macworld

комментировать Комментарии 0

Будьте первыми, кто прокомментирует эту статью!

Ваш комментарий
Авторизуйтесь чтобы можно было оставлять комментарии.