패스잇
모바일 개발 · 심화

Android 8.0 (Oreo) 이후 강화된 백그라운드 실행 제한 사항들을 설명하고, 이러한 제약 하에서 안정적이고 효율적인 백그라운드 작업을 구현하기 위한 Jetpack WorkManager 활용 전략을 제시해 보세요.

힌트 · Implicit Broadcast 제한, 백그라운드 서비스 제한 등을 언급하고, WorkManager의 제약 조건, 지연 실행, 네트워크 조건 등을 활용하는 방법을 설명합니다.

백그라운드 실행 제한Doze 모드App Standby 버킷JobSchedulerWorkManager

모범답안

Android 8.0 (Oreo)부터 백그라운드 실행에 대한 제약이 크게 강화되었습니다. 암시적 브로드캐스트 수신이 제한되고, 백그라운드 서비스 실행도 어려워졌죠. Doze 모드나 앱 대기 버킷 같은 배터리 관리 기능도 백그라운드 작업에 영향을 미칩니다.

이러한 제약 하에서 안정적인 백그라운드 작업을 구현하기 위해 Jetpack WorkManager를 적극적으로 활용할 수 있습니다. WorkManager는 JobScheduler를 기반으로 동작하며, 제약 조건(Constraints)을 설정하여 특정 조건(네트워크 연결, 충전 상태 등)이 만족될 때 작업을 실행하도록 할 수 있습니다.

예를 들어, 네트워크 연결이 필요하고, 기기가 충전 중일 때만 데이터를 동기화하는 작업을 WorkManager로 예약할 수 있습니다. 또한, 작업이 실패했을 경우 재시도 정책을 설정하여 안정성을 높일 수 있습니다. WorkManager는 OS 버전에 따라 최적의 방식으로 작업을 처리해주므로 개발자는 백그라운드 작업 관리에 더욱 집중할 수 있습니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 Android / Kotlin 면접 질문

← Android / Kotlin 면접 질문 전체 보기