Bài viết Bắt đầu sử dụng WorkManager đã đề cập rằng WorkManager thực hiện các công việc nền thay mặt bạn một cách không đồng bộ. Quy trình triển khai cơ bản có thể giải quyết nhu cầu của hầu hết ứng dụng. Để biết thêm các trường hợp sử dụng nâng cao như xử lý đúng cách công việc bị dừng, hãy tìm hiểu về việc tạo luồng và xử lý đồng thời trong WorkManager.
WorkManager cung cấp bốn loại công việc cơ bản:
Worker
là quy trình triển khai đơn giản nhất và là quy trình bạn đã đọc trong các mục trước. WorkManager tự động chạy quy trình này trên một chuỗi nền. Bạn có thể ghi đè chuỗi này. Hãy đọc thêm về việc tạo luồng trong các thực thểWorker
tại bài viết Tạo luồng trong Worker.CoroutineWorker
là quy trình triển khai được đề xuất cho người dùng Kotlin. Các thực thểCoroutineWorker
hiển thị chức năng tạm ngưng công việc trong nền. Theo mặc định, các thực thể này chạy lệnhDispatcher
mặc định mà bạn có thể ttuỳ chỉnh. Hãy đọc thêm về việc tạo luồng trong các thực thểCoroutineWorker
tại bài viết Tạo luồng trong CoroutineWorker.RxWorker
là quy trình triển khai được đề xuất cho người dùng RxJava. RxWorkers nên được sử dụng nếu phần lớn mã không đồng bộ hiện tại được mô hình hoá trong RxJava. Tương tự như các khái niệm khác của RxJava, bạn có thể ttuỳ ý chọn chiến lược tạo luồng. Hãy đọc thêm về việc tạo luồng trong các thực thểRxWorker
tại bài viết Tạo luồng trong RxWorker.ListenableWorker
là lớp cơ sở choWorker
,CoroutineWorker
vàRxWorker
. Lớp này dành cho các nhà phát triển Java không sử dụng RxJava và phải tương tác với các API không đồng bộ dựa trên lệnh gọi lại chẳng hạn nhưFusedLocationProviderClient
. Hãy đọc thêm về việc tạo luồng trong các thực thểListenableWorker
tại bài viết Tạo luồng trong ListenableWorker.