Xamarin Android: срок действия SyncAdapter истекает во время разговора

В iOS фоновая выборка имеет ограничение некоторого периода времени во время вызова фоновой выборки. Но в Android, будет ли SyncAdapter иметь ограничение по времени выполнения или будет продолжаться синхронизация до его завершения.

1 ответ

Решение

По умолчанию это 30 минут.

Синхронизация может быть отменена в любое время фреймворком. Например, синхронизация, которая не была инициирована пользователем и длится более 30 минут, будет считаться тайм-аутом и отменена.

SyncAdapters запускаются в фоновом потоке и при выполнении ваших OnPerformSync Вы должны предоставить любые ограничения передачи синхронизации (время и / или размер данных).

Тем не менее, ОС может позвонить Interrupted на нити, так что вам нужно следить за нитью Interrupted собственности или переопределить OnSyncCanceled методы (оба, если вы имеете дело с несколькими учетными записями) для обработки запроса ОС. Таким образом, вам необходимо очистить сетевые подключения, сохранить состояние синхронизации и т. Д. И вернуться из OnPerformSync в противном случае операционная система может (и будет) убивать ваш процесс.

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