در شروع به کار با WorkManager، اشاره کردیم که WorkManager کار پسزمینهای را بهصورت ناهمگام ازجانب شما انجام میدهد. پیادهسازی پایه نیازهای اکثر برنامهها را برآورده میکند. برای موارد استفاده پیشرفتهتر، مثل مدیریت صحیح توقف کار، باید درباره رشتهبندی و همزمانی در WorkManager اطلاعات کسب کنید.
چهار نوع مختلف از کارهای اولیه توسط WorkManager ارائه میشود:
Workerسادهترین پیادهسازی است، و همان موردی است که در بخشهای قبلی دیدهاید. WorkManager بهطور خودکار آن را در رشته پسزمینه اجرا میکند (که میتوانید آن را لغو کنید). درباره رشتهسازی درWorkerنمونه در رشتهسازی در Worker بیشتر بخوانید.CoroutineWorkerپیادهسازی توصیهشده برای کاربران Kotlin است. نمونههایCoroutineWorkerتابع تعلیق را برای کار پسزمینه نمایش میدهند. بهطور پیشفرض، آنها یکDispatcherپیشفرض را اجرا میکنند که میتوانید آن را سفارشیسازی کنید. درباره رشتهسازی در نمونههایCoroutineWorkerدر رشتهسازی در CoroutineWorker بیشتر بخوانید.RxWorkerپیادهسازی توصیهشده برای کاربران RxJava است. اگر بخش زیادی از کد ناهمگام موجود شما در RxJava مدلسازی شده است، باید از RxWorkers استفاده شود. مانند همه مفاهیم RxJava، شما آزادید که استراتژی رشتهای موردنظر خود را انتخاب کنید. درباره رشتهسازی در نمونههایRxWorkerدر رشتهسازی در RxWorker بیشتر بخوانید.-
ListenableWorkerکلاس پایه برایWorker،CoroutineWorker، وRxWorkerاست. این کتابخانه برای توسعهدهندگان Java طراحی شده است که باید با میاناهای برنامهسازی کاربردی ناهمگام مبتنی بر فراخوانی برگشتی مانندFusedLocationProviderClientتعامل داشته باشند و از RxJava استفاده نمیکنند. در رشتهسازی در ListenableWorker، درباره رشتهسازی در نمونههایListenableWorkerبیشتر بخوانید.