Manual do Android vs Manual Do JobScheduler

Por que precisamos do novo Android WorkManager se nós um JobScheduler, juntamente com alguns bacana 'backports' (AndroidJob e FirebaseJobDispatcher), com a mesma funcionalidade? Tem alguma característica assassina ou algo assim? Porque não vejo nada que me faça querer migrar para o mais um escalonador .

Author: Sagar, 2018-05-10

2 answers

O WorkManager parece a resposta do Google para a biblioteca Android-Job do Evernote, mas com algumas melhorias. Ele usa JobScheduler, Firebase JobDispatcher e AlarmManager, assim como Android-Job, dependendo do nível de API do dispositivo. Seu uso de tags parece praticamente o mesmo e atribuir restrições para trabalhos / trabalho são semelhantes o suficiente. As duas características com as quais estou animado São: ser capaz de trabalhar em cadeia e a capacidade de ser oportunista no trabalho com restrições. O primeiro permitirá que o trabalho (empregos) seja quebrado e mais modular para mim. E com um trabalho mais modular, cada peça de trabalho pode ter menos restrições melhorando a chance de completar mais cedo (oportunista). Por exemplo, a maioria do trabalho de processamento pode terminar antes que o trabalho com uma restrição de rede precisa ser cumprida. Então, se você está feliz com sua implementação atual de agendamento e as duas características que mencionei não acrescentam valor, Eu não vejo um enorme benefício em fazer a troca ainda. Mas se estás a escrever algo novo, talvez valha a pena usar o WorkManager.
 5
Author: Steve Miskovetz, 2018-05-10 23:49:34

"WorkManager has a lot of nice features but its main goal is to use the Jobscheduler's API on older devices"... Espera, mas já temos algumas Mochilas. O que se passa com eles? Para abreviar:

  1. FireaseJobDispatcher é bom, mas ele {[[9]}requer que o Google Play {[10] } agende trabalhos que não é bom se estamos a visar a China, por exemplo.

  2. Evernote'sAndroidJob é um excelente backport com muita funcionalidade. Imho, it era a melhor escolha para agendar qualquer trabalho. Mas agora a última versão da biblioteca usa o acima mencionado WorkManager sob o capô. E, infelizmente, mais cedo ou mais tarde a biblioteca ficará desactualizada.:

Se iniciar um novo projecto, deverá usar o WorkManager em vez desta biblioteca. Você também deve começar a migrar o seu código desta biblioteca para o WorkManager. Em algum momento no futuro esta biblioteca será descontinuar.

[[[2]}eles sugerem mudar para o WorkManager porque ele fornece mais recursos e eles também nos dão uma pequena comparação:
|   Feature          | android-job | WorkManager |
| ------------------ | ----------- | ----------- |
| Exact jobs         | Yes         | No          |
| Transient jobs     | Yes         | No          |
| Daily jobs         | Yes         | No          |
| Custom Logger      | Yes         | No          |
| Observe job status | No          | Yes         |
| Chained jobs       | No          | Yes         |
| Work sequences     | No          | Yes         |

Imo, as últimas 3 características são muito úteis e suportadas apenas pelo gestor de Obras. Então a resposta à minha última pergunta é sim, tem algumas características de morte:

  • não é necessário o Google Play
  • Queryable
  • Chainable
  • oportunista
Para aprender mais sobre o WorkManager um deve definitivamente ver esta palestra por Sumir Kataria P. S. Se alguém sabe porquê é ativamente suportado pelos engenheiros do Google em vez de ser desactualizado escreva nos comentários abaixo:)
 5
Author: Nikolay Kulachenko, 2018-06-25 20:11:25