Фоновые приложения *когда-нибудь* выходят в iOS 4?

Я не полностью понимаю модель iOS 4 Apple, я размышлял через документацию в течение многих часов, но я все еще ценю некоторую справку.

Фоновые приложения для iPhone когда-либо выходят? Например, когда я закрываю отслеживающее местоположение приложение, такое как Loopt, это будет фон, но это подпишется на значительный сервис местоположений ОС? Согласно яблоку (если я понимаю это правильно), даже это приостановлено или закрыто, это будет уведомлено относительно моего текущего местоположения. Это означает, в действительности, что будет всегда знать о моем местоположении, пока это говорит по телефону? Или пока я не перезапускаю свой телефон?

Спасибо,

  • ограбить
6
задан user375473 24 June 2010 в 16:21
поделиться

1 ответ

Приложения должны быть специально написаны, чтобы использовать преимущества многозадачности. Они не получают их бесплатно.

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

Если приложение написано так, что оно использует преимущества фоновой обработки для определения местоположения, voip или аудио, то только определенные аспекты будут продолжать работать в фоновом режиме. Например, если приложение voip приостановлено, оно сообщит ОС, что хочет сохранить свои сетевые сокеты живыми и получить уведомление, если на эти сокеты поступит входящий звонок. Когда это происходит, приложение "просыпается", возвращает контроль над сокетами ОС и возобновляет работу в обычном режиме.

В случае, когда звонок уже идет, и пользователь закрывает приложение, приложение снова сообщает ОС, что сокеты должны оставаться живыми и продолжать обработку звука, но остальная часть приложения (пользовательский интерфейс, любые другие функции) приостанавливается и не запускается.

Приложения на iOS4 завершатся, если они не скомпилированы под SDK 4.0 (поэтому не поддерживают многозадачность) или если ключ UIApplicationExitsOnSuspend указан и установлен в true в файле info.plist приложения.

Приложения завершаются по требованию ОС, если система начинает испытывать нехватку ресурсов.

Наконец, пользователь может убить приложение, дважды коснувшись кнопки "Домой", нажав и удерживая одну из иконок приостановленного приложения, а затем нажав кнопку "закрыть", которая появляется на их углу.

14
ответ дан 8 December 2019 в 17:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: