Поведение потоков при вводе фона в многозадачности iOS - PullRequest
5 голосов
/ 21 января 2011

Во время выполнения некоторых тестов я заметил, что когда приложение (без фоновых привилегий, например, voip, gps и т. Д.) Переходит в фоновое состояние, все фоновые потоки (или одновременные операции NSOperations), запущенные в данный момент, кажутся приостановленными (не прекращается), и они продолжаются, когда приложение выходит на передний план.

Я не вижу нигде задокументированного поведения этого потока.Кто-нибудь знает, определено ли это поведение и можно ли на него рассчитывать?

Было бы полезно не отменять задачи и не участвовать в завершении задач, если поток может безопасно продолжить работу при повторном открытии приложения.Особенно для сложных операций.

Любая информация будет отличной.Спасибо!

1 Ответ

9 голосов
/ 21 января 2011

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

...