WorkManager 특징

day_0893·2023년 8월 26일

JetPackTutorial

목록 보기
3/9

목차: https://velog.io/write?id=45950adf-c91a-4ccc-a426-f616f037f857

참고 URL: https://developer.android.com/topic/libraries/architecture/workmanager?hl=ko

WorkManager: 백그라운드 처리에 권장되는 기본 API (앱이 다시 시작 되거나 시스템이 재부팅될 때 작업이 예약된 채로 남아있으면 그 작업이 유지 됩니다.)
1. 즉시 실행: OneTimeWorkRequest에서 setExpedited() 호출
2. 장기 실행: WorkRequest, Worker에서 setForeground() 호출
3. 지연 가능: PeriodicWorkRequest, Worker

특징

  • 작업 제약 조건: 기기 ON 상태, 무제한 네트워크 상태, 배터리가 충분한 상태
  • 강력한 예약관리: 예약작업은 SQLite 데이터베이스에 저장되어 기기를 재부팅해도 작업이 유지되고 다시 예약되도록 보장한다. (절전 기능, 잠자기모드 권장사항을 준수하기 때문에 배터리 소모를 걱정하지 않아도 된다.
  • 신속한 처리 작업:
  • 유연한 재시도 정책: 지수 백오프 정책을 비롯해 유연한 재시도 정책을 재공한다.
  • 작업 채이닝: 순차실행 또는 동시실행이 제어 가능하다.
  • 내장 스레딩 상호 운용성: 코루틴 RxJava와 원활하게 통합되며 자체 비동기 API를 연결할 수 있는 유연성이 제공된다.

다른 API와의 관계
WorkManager: 백그라운드에서도 실행 가능한 지속적인 작업
코루틴: 지속적이지 않은 모든 비동기 작업
AlarmManager: 알람에만 사용

0개의 댓글