15:20
О многозадачности в iOS 4

Небольшое объяснение принципов организации многозадачности в iOS 4.

 

Не секрет, что многозадачность — это самая важная особенность iOS 4 и её основное преимущество. К сожалению, многие люди не совсем понимают что же именно Apple подразумевает под этим словом. Надеемся, что эта статья создателя популярного приложения Twitterrific для iPhone Крейга Хоккенберри (Craig Hockenberry) поможет вам разобраться в том, почему Apple ввела столько ограничений и почему они оправданы.

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

В то же время, есть приложения, для которых жизненно необходима работа в фоне. Apple выделила три категории таких программ:

  • Аудио. Приложения, которые проигрывают музыку в фоне. Самый яркий пример программы из данной категории — интернет-радио Pandora.
  • VOIP – Когда вы совершаете звонки через интернет, соединение происходит по протоколу под названием “Voice Over Internet Protocol”, который работает в фоне. Хороший пример — Skype.
  • Местоположение. Некоторым приложениям нужно работать в фоне, чтобы отслеживать ваше текущее местонахождение. К таким приложениям можно отнести многочисленные программы, которые записывают ваши GPS-координаты во время бега или ходьбы.

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

В большинстве случаев этих возможностей вполне достаточно, но есть и ситуации, в которых этой многозадачности не хватает. Самая большая потребность в ней проявляется в приложениях, которые периодически обновляют данные. Приложения для общения в социальных сетях, для обмена мгновенными сообщениями, для чтения новостей и другие программы, которые постоянно отслеживают изменения своих данных через интернет, не входят ни в одну из вышеперечисленных категорий. Разработчики предложили свои решения этой проблемы, но на сегодняшний день есть только один официальный выход: push-уведомления.

Небольшую путаницу в сознании пользователей вызывает то, как Apple отлично реализовала переключение между задачами. При двойном нажатии на кнопку Home и переходе на другое приложение, предыдущая программа “замораживается” и переводится в состояние, в котором она не работает, но может мгновенно возобновить работу с того места, на котором остановилась. Процесс «заморозки» приложений также приводит к уменьшению занятой памяти, что позволяет замораживать больше приложений.

При последующем нажатии на иконку приложения, оно «размораживается» и возвращается на экран iPhone’а, в то время как предыдущая программа замораживается. Этот процесс повторяется каждый раз, когда вы запускаете новое приложение.

Если наловчиться быстро переключаться между приложениями, то может создаться впечатление, что одновременно работает больше приложений, чем на самом деле. Это также объясняет почему iPhone может так долго работать без подзарядки, даже когда у вас "открыто" так много приложений. Большая часть приложений заморожена и не использует ресурсы — это делает только активное в данный момент приложение. И даже если в фоне играет музыка или записываются GPS-координаты, много программ одновременно работать не будут (если хотите, можете попробовать послушать интернет-радио и музыку iPod одновременно).

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

Источник: М.Тайм

Просмотров: 556 | Добавил: Администратор | Рейтинг: 0.0/0