Tarefa em background, o que usar?

Pessoal,

Estou criando uma pequena app que vai realizar sincronia de dados de em background mas como sou novato em Android gostaria de saber qual a melhor forma de fazer isso. Inicialmente gostaria de saber a opinião dos mais experientes em relação as opções disponíveis (SyncAdapter, Service, AlarmManager + BroadcastReceiver e JobScheduler). Qual delas usar?

Já vi que existem alguns pontos a serem considerados:

  • Consumo de bateria
  • Controle do intervalo de tempos

No meu cenário este job irá disparar um serviço rest ( assincrono ) que irá buscar uma quantidade de dados e gravar no banco de dados.

Olá Bom dia.
Estou neste momento trabalhando neste cenário, infelizmente responder não é meu intento até porque eu precisaria ter horas e horas na linguagem, e não me considero apto para isto mais posso compartilhar com vc minha experiencia, eu estou usando Alarm e Serviço e usei este material que inclusive tem um vídeo Usando Broadcast Receiver para Serviço em segundo plano

Amigo, acabei usando o SyncAdapter! Mas obrigado por sua ajuda! Foi muito útil!

Olá Souza bom dia!, puxa demoraste para responder rsrsrs,

Cara apos isto eu fiz diversas rotinas para sincronização/envio entre Android e Java tô usando muito o Retrofit e confesso que quando se trata de uma coisa simples como enviar um registro blz, agora em rotina de sincronização a coisa pega, pois ai vc tem diversas entidades para obter do SRV e inserir/atualizar no seu dispositivo, se o melhor é Sincrono ou Assincrono, se houver um erro como tratar o que vemos por ai são um simples Log se houver um erro, tem conexão? bem são questões a ser observadas e refinadas por mim que ainda me considero verde neste assunto, mas que bom que foi util, um Abraço!