안드로이드 백그라운드 작업 처리 방식 정리

Bluewave·2025년 6월 19일

안드로이드

목록 보기
9/14
post-thumbnail
📌 백그라운드 처리란?
  • 앱이 실행 중이 아니거나, UI와 직접 관계없는 작업을 처리하는 방식
  • 네트워크 통신, DB 접근, 예약 알림, 장시간 작업 등

✅ 처리 방식별 비교
방식설명사용 예시현재 권장 여부
Thread기본 자바 스레드, 단순 병렬 처리간단한 계산, 파일 처리
CoroutineKotlin 기반 경량 비동기네트워크 통신, I/O, DB가장 많이 사용
Handler / HandlerThread메시지 기반 작업 전달특정 시점 작업 예약
WorkManager조건 기반 반복/지연 작업백업, 로그 업로드 등
JobScheduler시스템 리소스 고려 작업 예약API 21+ 백그라운드 처리
ForegroundService사용자 인식 필요 작업음악 재생, 위치 추적
AsyncTaskUI + 백그라운드 연결 (과거 방식)-❌ Deprecated
IntentService백그라운드 서비스 (과거 방식)-❌ Deprecated
AlarmManager특정 시각 알림, 예약 실행알람 앱, 정각 알림 등⭕ (시간 정확성 중요할 때)

🧠 상황별 추천
상황추천 방식
짧고 즉시 처리할 작업Coroutine / Thread
오래 걸리는 작업 + 앱 꺼져도 유지WorkManager
사용자에게 작업이 인식되어야 함ForegroundService
특정 시간에 실행 필요AlarmManager

🛠️ AlarmManager vs WorkManager 비교 정리

항목AlarmManagerWorkManager
용도특정 시점에 정확한 시간에 작업 실행조건 만족 시 백그라운드 작업 실행 (지연 가능)
시간 정확성높음 (지정된 시각에 정확히 실행 가능)낮음 (시스템 최적화에 따라 지연 가능)
앱 상태와 무관한 실행O (앱 종료, 재부팅 후에도 작동 가능)O
반복/조건 기반 작업반복 가능하지만 조건 제어는 어려움조건 기반 반복 작업에 적합
API 제한 영향Android 6.0+ 이상에서도 백그라운드 실행 제한 적음시스템 정책에 따라 지연 가능성 있음
대표 사용 예알람, 캘린더, 정각 알림주기적 백업, 로그 업로드, 대기 후 작업
profile
Developer's Logbook

0개의 댓글