Junior — Middle
What methods do you use to perform background tasks?
sobes.tech AI
Answer from AI
In Android, several main methods are used to perform tasks in the background:
- AsyncTask (deprecated, not recommended for new projects) — for simple short tasks.
- HandlerThread and Handler — for organizing a background thread with a message queue.
- ExecutorService — for managing a thread pool.
- WorkManager — a modern and recommended way for deferred and guaranteed tasks that should be executed even after device restart.
- IntentService (deprecated, replaced by WorkManager) — for executing tasks in a background service.
Example of using WorkManager for a background task:
class UploadWorker(appContext: Context, workerParams: WorkerParameters) : Worker(appContext, workerParams) {
override fun doWork(): Result {
// Execute background task
uploadData()
return Result.success()
}
}
// Starting the task
val uploadWorkRequest = OneTimeWorkRequestBuilder<UploadWorker>().build()
WorkManager.getInstance(context).enqueue(uploadWorkRequest)