Aplikasi Android sering kali perlu melakukan pekerjaan latar belakang — tugas yang berjalan di luar UI langsung, seperti sinkronisasi data, unggahan, atau pekerjaan berkala. Android menyediakan beberapa mekanisme (WorkManager, Services, coroutines) dengan kasus penggunaan yang berbeda, ditambah batasan penting dari OS.
Opsi pekerjaan latar belakang
COROUTINES (in a ViewModel scope) → for async work tied to the UI/screen (network calls,
loading data) — runs while the screen is active
WORKMANAGER → for DEFERRABLE, GUARANTEED background work that must complete (even if the
app closes or the device reboots): syncing, uploads, periodic tasks, retries
→ the RECOMMENDED solution for most persistent background work
FOREGROUND SERVICE → for ongoing, user-visible background work (music playback, navigation,
active tracking) — shows a persistent notification
SERVICES → general background components (largely superseded by WorkManager/coroutines
for most cases)
