Android-appar behöver ofta utföra bakgrundsarbete — uppgifter som körs utanför det omedelbara gränssnittet, som datasynkronisering, uppladdningar eller periodiska jobb. Android tillhandahåller flera mekanismer (WorkManager, Services, coroutines) med olika användningsfall, plus viktiga begränsningar från operativsystemet.
Alternativ för bakgrundsarbete
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)
