← 질문 목록
#89깊이 0
실행 시점과 사용자 인지 여부로 어떤 수단을 고르는가?
모바일심화
지연 가능하고 끝내야 하는 일은 WorkManager를 쓴다. 즉시 진행하며 사용자가 알아야 하는 일은 포그라운드 서비스를 쓴다. 정시 알림은 알람을 검토한다.
| 기준 | WorkManager | 포그라운드 서비스 |
|---|---|---|
| 목적 | 지연 가능한 지속 작업 | 즉시 체감 작업 |
| 특성 | 시각이 정확하지 않다 | 알림과 시작 제한이 있다 |
Doze와 앱 대기는 네트워크와 알람을 미루고 백그라운드 서비스 실행도 제한한다. 스레드나 일반 서비스만 띄워 계속 실행되리라 기대할 수 없다.
정확한 시각이 핵심인 사용자 기능은 AlarmManager를 검토한다. 정확한 알람은 권한과 용도 제한이 있어 일반 동기화에 쓰지 않는다.