WorkManger_선정이유 - boostcampwm-2024/and04-Nature-Album GitHub Wiki
- 특정 시간(12시 정각)에 동기화를 실행한다.
- WIFI 상태에서만 진행한다.
- 로그인 상태에서만 진행
|
Service |
AlarmManager |
WorkManager |
앱이 꺼져있어도 동작 |
X |
△ |
O |
WIFI 상태에서만 동작 |
△ |
△ |
O |
특정 시간에 동작 |
X |
O |
O |
- Service는 앱이 꺼져있으면 종료되며, 유휴 상태에서 1~2분 뒤에 강제 종료되기 때문에 부적합하다.
- Foreground도 가능하긴 하지만 동기화 정책과 부적합하기 때문에 Service는 제외
- 특정 시간에 동작 가능
- 다만 Doze모드에서 제대로 동작하지 않으며, 동작하더라도 기기를 깨운다는 단점이 있다.
- WIFI는 작업 실행 시 네트워크를 확인하는 방법으로 구현할 수 있을 것 같다.
- 앱 실행 여부와 상관없이 작업을 수행
- 백그라운드에서 동작
- 다양한 상태에 따른 트리거 설정 가능
- DOZE 모드와 같은 절전 기능 준수
- 특정 시간을 지정할 수 없는 단점이 있지만, 작업 지연 기능을 이용하여 특정 시간에 작업을 구현할 수 있다.
⚠️ **GitHub.com Fallback** ⚠️