EnjoyLife

비콘스캐닝 및 모의위치 주입 관련 앱을 만들때 주의사항 본문

안드로이드 개발/비콘(iBeacon)

비콘스캐닝 및 모의위치 주입 관련 앱을 만들때 주의사항

Aiden96 2025. 5. 27. 08:28

✅ 백그라운드 최적화 핵심 체크리스트

  1. Foreground Service 필수:
     - 항상 startForeground() 호출, 알림 고정
     - 절대 일반 Service로 실행하지 말 것
  2. 서비스 분리:
     - “계속 살아 있어야 하는 비콘 감지(BeaconService)”는 Foreground
     - “일회성 작업(모의위치 주입)”은 짧게 실행 후 stopSelf()로 종료
  3. 메모리 릭/과다 WakeUp 방지:
     - CoroutineScope(Dispatchers.Default)로 주기 작업
     - 주기 체크(예: 2초) 외 불필요한 Timer, Handler, Alarm 사용 X
  4. Doze 모드/절전 예외 적용:
     - Foreground Service는 일반 절전 모드에서 살아남지만,
     - Doze 모드 심화(충전+화면 꺼짐)에서는 일부 기기서 지연 발생 가능
     - 꼭 필요하면 setForegroundServiceType()에 location|bluetooth 지정
  5. 알림 최소화/배터리 절약:
     - Notification의 IMPORTANCE는 LOW로
     - setOngoing(true) 설정
     - 배터리 절약 모드에서도 동작 확인
  6. 앱 전체 종료/재부팅 후 복구:
     - 필요시 BOOT_COMPLETED 브로드캐스트 수신해 자동 재시작(옵션)
  7. 외부 권한/설정 안내:
     - “배터리 사용량 최적화 예외” 권장 안내(사용자 설정 직접 유도)