Срeди пoльзoвaтeлeй iOS-устрoйств бытуeт мнoжeствo oшибoчныx суждeний, кaсaтeльнo того, как же все таки работает многозадачность в iOS и что именно происходит с приложениями после их закрытия. Некоторые ошибочно считают, что все приложения отображенные в панели многозадачности, которая появляется при двойном нажатии на кнопку «Домой», являются запущенными, тормозят устройство, используют память и сжирают заряд батареи — следовательно, считают пользователи, данные приложения необходимо закрывать вручную.
Доводим до вашего сведения, что в данной панели отображаются не запущенные, а недавно использованные программы. iOS устроена так, что пользователю никогда не приходится управлять системными и фоновыми задачами.
При нажатии кнопки «Домой» практически во всех случаях, кроме нескольких, о которых мы поговорим позже, приложение закрывается, высвобождая память и системные ресурсы.
Пять состояний приложения в iOS
iOS-приложения могут находится в одном из пяти состояний, а именно:
Состояния Активное и Неактивное интуитивно понятны, а вот что происходит с активным приложением при нажатии кнопки «Домой», и в каких других состояниях при этом находятся остальные приложения понятно не до конца.
Итак, при нажатии «Домой» приложение из Активного переходит в Фоновый режим, затем, обычно в считанные секунды, приложения из Фонового переходят в Отложенный режим, т.е. хранятся в памяти в развернутом виде, при этом не используя ресурсов. Это делается для того, чтобы их последующий запуск проходил более быстро. аппликации При этом, при запуске требовательного к ресурсам (особенно к памяти) приложения, iOS самостоятельно начнет переводить Отложенные приложения в режим Незапущенных, высвобождая таким образом необходимую память. Закрывать Отложенные приложения вручную необходимости нет и никогда не было.
Запутанность же возникает как раз в связи с панелью многозадачности на которой отображаются какие то иконки. Так вот, данные иконки не имеют никакого отношения к описанным выше состояниям приложения. Они просто отображают недавно запущенные пользователем аппликации, для облегчения последующего к ним доступа.
Фоновые задачи
Возьмем приложение, которое загружает большие объемы данных из сети, например Instacast — программа для прослушивания аудиоподкастов. Когда Instacast активен, программа начинает качать подкасты. Если же нажать кнопку «Домой», приложению будет дано 5 секунд для завершения задач в Фоновом режиме, после чего оно будет переведено в Отложенный режим. Это прервет загрузку подкастов, которая занимает намного большее время.
Но приложениям типа Instacast позволено задержаться в Фоновом режиме чуть дольше. Приложение заявляет iOS, что выполняет определенную задачу, назначенную пользователем, и получает дополнительное время для фоновой работы — около 10 дополнительных минут.
Неограниченная работа в фоновом режиме
Итак, все приложения в iOS получают около 5 секунд для работы в фоновом режиме, чтобы «подчистить хвосты», а некоторые программы дополнительные 10 минут, чтобы завершить какую-то более длительную задачу. Правда существуют некоторые приложения, которым iOS позволяет постоянно находится в Фоновом состоянии. Данные приложения можно разделить на пять основных типов:
Когда вышеуказанные приложения заканчивают выполнять задачу, они также переходят в режим Отложенных. Так же работают и многие системные приложения iOS, например приложение «Почта».
Работающее в Фоновом режиме приложение может выполнять функции наравне с Активным, а именно — работающий в Фоновом режиме Instacast также может скачивать новые эпизоды подкастов.
Разумеется, все фоновые приложения занимают память, потребляют ресурсы и расходуют батарею.
Заключение
Итак, подведем краткий итог ко всему вышесказанному и составим небольшое резюме:
По материалам: Macworld