Ứng dụng Android thường cần làm công việc nền — các tác vụ chạy ngoài UI tức thời, như đồng bộ dữ liệu, tải lên, hay các job định kỳ. Android cung cấp nhiều cơ chế (WorkManager, Service, coroutine) với các trường hợp dùng khác nhau, cùng những ràng buộc quan trọng từ hệ điều hành.
Các tùy chọn công việc nền
COROUTINE (trong một ViewModel scope) → cho công việc async gắn với UI/màn hình (gọi mạng,
tải dữ liệu) — chạy khi màn hình đang hoạt động
WORKMANAGER → cho công việc nền CÓ THỂ HOÃN, ĐẢM BẢO phải hoàn thành (kể cả khi
ứng dụng đóng hoặc thiết bị khởi động lại): đồng bộ, tải lên, tác vụ định kỳ, thử lại
→ giải pháp được KHUYẾN NGHỊ cho hầu hết công việc nền bền vững
FOREGROUND SERVICE → cho công việc nền liên tục, hiển thị với người dùng (phát nhạc, điều hướng,
theo dõi đang hoạt động) — hiển thị một thông báo bền vững
SERVICES → các component nền chung (phần lớn đã được thay thế bởi WorkManager/coroutine
trong hầu hết trường hợp)
