رشته‌بندی در WorkManager

در شروع به کار با 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 بیشتر بخوانید.