QoS для загрузки по нажатию
Вопрос
Пользователь нажал кнопку и ждёт открытия документа, который надо распарсить. Какой QoS подходит?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Варианты ответа
.background.userInitiatedправильный ответ.utility.userInteractive
Разбор
.userInitiated для работы, которую пользователь запустил и ждёт результат за секунды. .userInteractive для анимаций и обработки событий, которые должны уложиться в кадр. .utility для долгой работы с прогрессом (загрузки, импорт). .background для того, что пользователь не видит: бэкапы, индексация. Неправильный QoS приводит к задержкам или лишнему расходу батареи.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Предыдущий вопрос
Что выведет Swift: async и sync на последовательной очереди
Следующий вопрос
Последовательная и параллельная очередь
Термины по теме
Ещё по теме «GCD и OperationQueue»
- Асинхронная Operation
- Барьер для потокобезопасного кеша
- Инверсия приоритетов
- DispatchSemaphore для ограничения параллельности
- DispatchWorkItem и отмена
- Как дождаться нескольких запросов в GCD
- Задача на Swift: операции с зависимостями и критический путь
- Задача на Swift: OperationQueue с ограничением параллельности