Поведение потоков при вводе фона в многозадачности iOS

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

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

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

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

1 ответ

Решение

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

Другие вопросы по тегам