Перейти к содержимому



Как работает многозадачность в iOS: мифы и реальность


В этой теме нет ответов

#1 Sasha

    Местный

  • Пользователи
  • 117 сообщений
1 002
  • ГородMoscow

Отправлено 11 Январь 2012 - 14:51

Существует миф про многозадачность в операционной системе iOS, который звучит следующим образом: «приложения в панели многозадачности на iPhone или iPad активные и замедляют работу, забивая память устройства или расходуя заряд аккумулятора». Знатоки дела советуют для улучшения производительности и увеличения времени автономной работы iOS-устройства удалять вручную эти самые приложения.
Изображение
Разработчик Фрейзер Спейрс решил опровергнуть это заявление. По словам эксперта, панель многозадачности в iOS не содержит «списка запущенных приложений». В апп-свитечере находится лишь список последних запущенных программ.
Apple разработала уникальную операционную систему, основную на настольной Mac OS X. В iOS пользователю не нужно управлять фоновыми процессами. Когда вы нажимаете кнопку Домой, система почти во всех случаях заставляет приложение выйти и прекратить использование ресурсов процессора, а память, которую оно занимало, со временем освобождается.
Спейрс пишет, что всего у программ в iOS есть 5 типов состояний:
  • Нерабочее — работа приложения была прекращена или оно не было запущено.
  • Неактивное — приложение в активном режиме, но не получает событий (например, пользователь заблокировал экран).
  • Активное — нормальное состояние приложения в режиме использования.
  • Фоновое — приложение скрыто, но исполняет код.
  • Приостановленное — приложение находится в памяти, но не исполняет код.
Активное и неактивное для данной темы неинтересны. Большинство путается в ситуациях, когда приложение переходит из активного в Фоновое, потом в Приостановленное, а затем в Нерабочее.
Когда вы нажимаете кнопку Домой, программа переходит из Активного в Фоновое. Большинство приложений через нескольких секунд сразу переходят в Приостановленное. Первый технический нюанс заключается в том, что Приостановленное приложение остается в памяти устройства. Это сделано для того, чтобы оно могло продолжить работу быстрее, если вы решите к нему вернуться, однако оно не использует процессор и батарею.
Вы можете предположить, что если ПО находится в памяти, вам нужно его как-то удалить оттуда для освобождения ресурсов. Вам не нужно этого делать, потому что iOS делает это за вас. Если у вас есть Приостановленное приложение и вы запускаете ресурсоемкий софт, например игру, iOS самостоятельно выгружает Приостановленную программу и перещает ее в Нерабочее состояние. Другими словами она будет полностью удалена из памяти и запущена с нуля при следующем запуске.
Панель многозадачности показывает лишь список недавно использованных приложений, вне зависимости от того, в каком состоянии они находятся.
Когда приложение отправляется в Фоновый режим работы, оно как правило переходит в Приостановленное состояние через несколько секунд. Однако приложение может запросить увеличение этого периода, заявив, что запускает «фоновую задачу», например, загружает большой файл из Интернета. Однако даже в этом случае у программы есть всего 10 минут на работу в фоновом режиме. Затем она насильно приостанавливается.
Существуют всего 5 типов приложений, которые могут работать в фоновом режиме дольше:
  • Аудиопроигрыватели (например, Instacast).
  • Автомобильные Навигаторы (например TomTom).
  • Приложения для VoIP-связи (например, Skype).
  • Киоск (загрузка журналов).
  • Приложения, которые получают обновления от внешних аксессуаров.
Есть несколько встроенных приложений, которые также постоянно работают в фоновом режиме – наиболее часто используемым, наверно, является Mail.
Изображение
До тех пор, пока эти приложения находятся в Фоновом состоянии, они потребляют память, ресурсы процессора и аккумулятора. Однако пользователь как правило знает об этих процессах. Разработчик таких приложений должен уведомить вас, какой вид Фоновой задачи будет исполняться и часть работы «цензоров» в онлайн-магазине App Store заключается в том, чтобы проверить, чтобы эти технологии использовались разумно.
Таким образом, вам не нужно управлять фоновыми задачами в iOS. Система сама справляется практически со всеми ситуациями за вас, и правильно написанные аудиоприложения, GPS-навигаторы, VoIP-программы и аксессуарные приложения тоже разберутся сами.
Изображение





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анононимных