במאמר תחילת העבודה עם WorkManager ציינו ש-WorkManager מבצע עבודה ברקע באופן אסינכרוני בשמכם. ההטמעה הבסיסית נותנת מענה לדרישות של רוב האפליקציות. בתרחישי שימוש מתקדמים יותר, כמו טיפול נכון בעצירה של עבודה, כדאי ללמוד על שרשור ועל פעולות מקבילות ב-WorkManager.
יש ארבעה סוגים שונים של פרימיטיבים של עבודה ש-WorkManager מספק:
-
Workerהוא ההטמעה הפשוטה ביותר, וזו שראיתם בקטעים הקודמים. WorkManager מריץ אותו אוטומטית בשרשור ברקע (שאפשר לשנות). מידע נוסף על שרשור במופעיWorkerזמין במאמר Threading in Worker. -
CoroutineWorkerהיא ההטמעה המומלצת למשתמשי Kotlin. מופעים שלCoroutineWorkerחושפים פונקציית השהיה לעבודה ברקע. כברירת מחדל, הם מריציםDispatcher, שאפשר להתאים אישית. מידע נוסף על שרשור במופעיCoroutineWorkerזמין במאמר Threading in CoroutineWorker. -
RxWorkerהיא ההטמעה המומלצת למשתמשי RxJava. מומלץ להשתמש ב-RxWorkers אם הרבה מהקוד האסינכרוני הקיים שלכם מבוסס על RxJava. כמו בכל המושגים של RxJava, אתם יכולים לבחור את אסטרטגיית השרשור שמתאימה לכם. מידע נוסף על שרשור במופעיRxWorkerזמין במאמר Threading in RxWorker. -
ListenableWorkerהיא מחלקת הבסיס שלWorker,CoroutineWorkerו-RxWorker. הוא מיועד למפתחי Java שצריכים ליצור אינטראקציה עם ממשקי API אסינכרוניים מבוססי קריאה חוזרת, כמוFusedLocationProviderClient, ולא משתמשים ב-RxJava. מידע נוסף על שרשור במקרים שלListenableWorkerזמין במאמר שרשור ב-ListenableWorker.