web-dev-qa-db-fra.com

Android WorkManager vs JobScheduler

Pourquoi avons-nous besoin du nouvel Android WorkManager si nous avons déjà a JobScheduler avec quelques rétroportages géniaux ( AndroidJob et FirebaseJobDispatcher ) avec les mêmes fonctionnalités? At-il des caractéristiques de tuer ou quelque chose? Parce que je ne vois pas rien qui me donne envie de migrer vers le planificateur encore un autre.

12

WorkManager semble juste être la réponse de Google à la bibliothèque Android-Job d’Evernote, mais avec quelques améliorations. Il utilise JobScheduler, Firebase JobDispatcher et AlarmManager comme Android-Job en fonction du niveau de l'API du périphérique. Leur utilisation des balises est à peu près la même et l’attribution de contraintes aux tâches/travaux est assez similaire.

Les deux caractéristiques qui me passionnent sont les suivantes: être capable de chaîner le travail et d’être opportuniste sur un travail soumis à des contraintes. La première permettra de fractionner le travail et de le rendre plus modulaire pour moi. Et avec un travail plus modulaire, chaque travail peut avoir moins de contraintes, ce qui améliore les chances qu'il achève plus tôt (opportuniste). Par exemple, la majorité du travail de traitement peut être terminée avant que le travail avec une contrainte de réseau ne soit satisfait.

Donc, si vous êtes satisfait de votre implémentation actuelle du planificateur et que les deux fonctionnalités que j'ai mentionnées n'apportent aucune valeur ajoutée, je ne vois pas l'avantage énorme de faire le changement pour l'instant. Mais si vous écrivez quelque chose de nouveau, utiliser WorkManager en vaudra probablement la peine.

7
Steve Miskovetz

WorkManager utilise le service JobScheduler pour planifier les travaux. Si JobScheduler n'est pas pris en charge par le périphérique, il utilise le service Firebase JobDispatcher . Si Firebase JobDispatcher n'est pas disponible sur le périphérique, il utilisera AlarmManager et BroadcastReceiver.

Ainsi, avec WorkManager, vous n'avez pas à vous soucier de la compatibilité ascendante. En outre, il permet de définir les contraintes à respecter pour que le travail puisse être exécuté, telles que les contraintes de réseau, le niveau de batterie, l'état de charge et le niveau de stockage.

Cela permet d’enchaîner les tâches et de passer des arguments au travail.

http://www.zoftino.com/scheduling-tasks-with-workmanager-in-Android

0
Arnav Rao