Теперь чуть более технически: у iOS приложений есть пять состояний исполнения. Вот они:
Нерабочее — работа приложения была прекращена или оно не было запущено
Неактивное — приложение в активном режиме, но не получает событий (например, пользователь заблокировал экран с приложением в рабочем состоянии)
Активное — нормальное состояние приложения в режиме использования
Фоновое — приложение больше не находится на экране, но по-прежнему исполняет код
Приостановленное — приложение по-прежнему находится в памяти, но не исполняет код
Активное и неактивное для данной темы неинтересны. Большинство путается в ситуациях, когда приложение переходит из активного в Фоновое, потом в Приостановленное, а потом в Нерабочее.
Когда вы нажимаете кнопку Home, приложение переходит из Активного в Фоновое. Большинство приложений затем переходят из Фонового в Приостановленное в течение пары секунд.
и
Все приложения получают 5 секунд работы в фоновом режиме. Некоторые приложения могут запросить расширение этого времени до 10 минут. Есть небольшой набор приложений, которым нужно работать в фоновом режиме постоянно, и iOS разрешает это.
Есть 5 типов приложений, которым разрешено работать без ограничений в Фоновом состоянии в iOS 5:
Приложения, которые проигрывают аудио, находясь в Фоновом состоянии. Хороший пример — тот же Instacast, который воспроизводит подкаст.
Приложения, которые отмечают ваше местоположение в Фоновом состоянии. Например, вам нужны голосовые напоминания от навигации TomTom, даже если другое приложение Активно.
Приложения, которые “слушают” входящие звонки через VoIP. Если вы используете Skype на iOS, вы можете получить входящий звонок Skype, когда приложение находится в Фоновом состоянии.
Приложения Nesstand, которые загружают новый контент.
Приложения, которые получают постоянные обновления от внешних аксессуаров, находясь в Фоновом состоянии.
Все хорошо написанные приложения в вышеупомянутых категориях должны переходить в Приостановленное состояние, когда они прекращают выполнять свою текущую задачу. Когда Instacast заканчивает проигрывать подкаст, она должна перейти в Приостановленное состояние. Есть некоторые встроенные приложения, которые также постоянно работают в фоновом режиме в iOS — наиболее часто используемым, наверно, является Mail.