Предположим, я ставлю некоторые задачи в эти очереди, а затем на некоторое время переключаюсь на другое приложение или экран блокировки, в результате чего мое приложение переходит в фоновый режим. Приложение не закрывается, а остается в фоновом режиме.
Гарантируется ли в этом сценарии, что все задачи как в 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
Мобильная версия