У меня есть приложение, которое содержит около 10 и более видов деятельности.Стратегия синхронизации при запуске приложения
Я пытаюсь выполнить синхронизацию с сервером задней части. (Я отправляю некоторые данные и возвращаю некоторые данные, которые храню в Базах данных и т. Д.)
Я хочу, чтобы синхронизация работала до тех пор, пока мое приложение видно. Моя проблема в том, что на Android нет реальной концепции «мое приложение теперь работает». Кроме того, у пользователя может быть так много точек выхода, что будет трудно узнать, в какой onPause/onStop я должен поместить свой код. (исправьте меня и объясните, пожалуйста, если я ошибаюсь здесь).
Обратите внимание: я не буду изменять связанные с GUI элементы из этого механизма синхронизации.
Мне предложили пару решений, которые можно опускать, как показано ниже.
- Сделайте сервис и привяжите его к каждому виду деятельности. Пока у службы есть владелец, она запускается, пока она этого не делает, она остановлена.
- Используйте контрольный счетчик для синхронизации. Получите одноэлементный класс, который запускает синхронизацию и каждый из них onStart и onStop, добавляет или вычитает мой счетчик и останавливает синхронизацию, когда счетчик равен 0.
- Подкласс контекста приложения (или создания статических переменных), чтобы увидеть состояние каждого активности и внутри каждого из них onResume и onPause делают проверку и запускают/приостанавливают/останавливают синхронизацию соответственно.
Какой подход рекомендуется, и если есть другие идеи, добро пожаловать.
10x много. Однако в моем случае было бы лучше искать механизм обслуживания/потока, а не реализовывать SyncAdapter. – tony9099
См. Редактирование, это должно охватывать ваши требования – for3st