Гарантируется ли, что задачи в DispatchQueue или OperationQueue завершатся при последующем переключении на приложение, пIOS

Программируем под IOS
Ответить
Anonymous
 Гарантируется ли, что задачи в DispatchQueue или OperationQueue завершатся при последующем переключении на приложение, п

Сообщение Anonymous »

Я собираюсь использовать DispatchQueue, DispatchQueue.global() или OperationQueue для запуска некоторого кода в фоновом потоке моего приложения.
Предположим, я ставлю некоторые задачи в эти очереди, а затем на некоторое время переключаюсь на другое приложение или экран блокировки, в результате чего мое приложение переходит в фоновый режим. Приложение не закрывается, а остается в фоновом режиме.
Гарантируется ли в этом сценарии, что все задачи как в DispatchQueue, так и в OperationQueue в конечном итоге запустятся когда я вернусь в приложение< /стронг>? Или система может отказаться от некоторых из этих задач из-за ограничений памяти или других факторов? (Если приложение не было закрыто.)
Пример DispatchQueue.global()

Код: Выделить всё

DispatchQueue.global().async {
let i = UUID().uuidString
print("WillWork: \(i)")
DispatchQueue.global().async {
print("DidWork: \(i)") // Could it be discarded even when I return to the app?
}
print("ScheduleWork: \(i)")
}
Обзор
Есть ли вероятность того, что задачи, поставленные в очередь, но еще не запущенные, могут быть отменены, даже если приложение не было закрыто, после переключения в другое приложение или заблокировать экран на некоторое время?


Подробнее здесь: https://stackoverflow.com/questions/791 ... mplete-whe
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»