Почему мое приложение не приостанавливается сразу после завершения длительной фоновой задачи?
Приложение, работающее на iOS 8, использует длительную фоновую задачу, чтобы избежать приостановки при переходе в фоновый режим. Все хорошо. Когда задача завершена, приложение вызывает обработчик завершения фоновой задачи:
[[UIApplication sharedApplication] endBackgroundTask:backgroundTask];
backgroundTask = UIBackgroundTaskInvalid;
Однако вызов backgroundTimeRemaining
возвращает 40-секундный интервал времени.
[[UIApplication sharedApplication] backgroundTimeRemaining]
Действительно, приложение не приостанавливается как минимум еще на 20 секунд после завершения задачи.
- Почему это происходит?
- Будет ли приложение всегда получать полное время выполнения?
- Могу ли я ускорить приостановку работы приложения?