У меня есть проект Android, который использует синтаксический анализ для его бэкэнд. Чтобы сократить количество вызовов api, я привязывал «не очень важные» данные к локальному хранилищу данных и синхронизовал их один раз в день с помощью AlarmManager и BroadcastReceiver.Использование BroadCastReceiver и AlarmManager
Теперь я хочу синхронизировать данные часто, каждые 2/3 минуты, только когда приложение работает. Как мне это сделать? Использую ли я один и тот же AlarmManager и BroadCastReceiver (изменяя частоту и отменя аварийный сигнал при выходе), чтобы реализовать это? Или есть более эффективный способ?
P.S: Пользователи Parse.com, какие наилучшие способы уменьшить количество вызовов api в таком сценарии? Есть ли какие-то изящные способы?
У меня есть стол Posts, в котором есть тексты, отправленные пользователями и таблица голосов. Всякий раз, когда пользователь создает сообщение, я создаю объект Posts и сохраняю его для разбора. И когда другой пользователь использует приложение, он получает право голоса. Счет подсчета для каждого объекта Post сохраняется в столбце в таблице «Записи», когда и когда голосование выполняется. Но пользовательский выбор сохраняется локально. Это сокращение количества вызовов API, я накапливаю пользовательские варианты со временем и периодически синхронизирую их.
Одним из возможных способов использования API уровня 21+ является использование нового 'JobScheduler' https://developer.android.com/reference/android/app/job/JobScheduler.html. Это действительно зависит от того, какое это приложение, соответственно, как долго и часто средний пользователь будет кэппировать приложение на переднем плане. – momo
Как я могу запустить службу каждый раз, когда мое приложение закрыто? – 55597