Закрыть объявление

Все мы знаем урок «многозадачность = способность выполнять несколько процессов одновременно». Мы используем его в наших компьютерах, даже не осознавая его присутствия. Переключение между приложениями или окнами одного приложения происходит (у нас) в реальном времени и мы воспринимаем эту возможность операционной системы как должное.

Задача другая

Операционная система выделяет процессор всем приложениям через небольшие промежутки времени. Эти временные промежутки настолько малы, что мы не можем их заметить, поэтому создается впечатление, будто все приложения используют процессор одновременно. Мы могли бы так подумать многозадачность в iOS 4 работает точно так же. Это не так. Основная причина, конечно же, в емкости аккумулятора. Если бы все приложения действительно работали в фоновом режиме, нам, вероятно, пришлось бы искать сокет через несколько часов.

Большинство приложений, совместимых с iOS 4, переводятся в «приостановленный режим» или переводятся в спящий режим после нажатия кнопки «Домой». Можно провести аналогию с закрытием крышки ноутбука, который сразу же переходит в спящий режим. После открытия крышки ноутбук просыпается и всё точно в том же состоянии, что и до закрытия крышки. Кроме того, существуют приложения, в которых нажатие кнопки «Домой» приводит к их завершению. И под этим мы подразумеваем настоящее прекращение. У разработчиков есть выбор, какой из этих методов использовать.

Но есть и другая категория приложений. Это приложения, которые действительно работают в фоновом режиме, даже если вы делаете на своем iDevice что-то совершенно другое. Skype является хорошим примером, поскольку ему требуется постоянное подключение к Интернету. Другими примерами могут быть приложения, воспроизводящие фоновую музыку (Pandora) или приложения, требующие постоянного использования GPS. Да, эти приложения разряжают батарею даже при работе в фоновом режиме.

Спать или сбивать?

Некоторые приложения, совместимые с iOS 4, которые следует перевести в спящий режим (перевести в «приостановленный режим») после нажатия кнопки «Домой», продолжают работать в фоновом режиме. Apple дала разработчикам ровно десять минут на то, чтобы приложение выполнило свою задачу, какой бы она ни была. Допустим, вы загружаете файл в GoodReader. Внезапно кто-то хочет вам позвонить, и вам просто нужно принять этот важный звонок. Звонок не длился более десяти минут, вы вернетесь в приложение GoodReader. Возможно, файл уже загружен или еще загружается. Что делать, если звонок занимает более десяти минут? Приложение, в нашем случае GoodReader, должно будет прекратить свою активность и сообщить iOS, что его можно перевести в спящий режим. Если она этого не сделает, ее безжалостно устранит сама iOS.

Теперь вы знаете разницу между «мобильной» и «настольной» многозадачностью. Хотя плавность и скорость переключения между приложениями важны для компьютера, время автономной работы всегда является самым важным для мобильных устройств. Многозадачность также пришлось адаптировать к этому факту. Поэтому, прочитав эту статью, если вы дважды нажмете кнопку «Домой», вы больше не увидите «панель приложений, работающих в фоновом режиме», а по сути только «список недавно использованных приложений».

Автор: Даниэль Грушка
Источник: onemoretap.com
.