최지웅
479
2021-01-08 18:15:34
2
220

[안드로이드] service vs foreground service


리소스가 부족할 경우 임의로 서비스를 중단시킬 수 있기 때문에 해결 방법중 하나로

포그라운드 서비스를 사용한다고 알고 있습니다. 하지만 서비스에서도 리턴값으로 START_REDELIVER_INTENT를 사용할 경우 중단되더라도 intent값을 유지시켜 준다고 알고 있습니다. 그럼 서비스의 중단을 차단하기위한 목적이라면 굳이 포그라운드 서비스를 사용안해도 되는것인가요? 아님 해당 목적이라도 다른 차이점이 있는건가요?

0
  • 답변 2

  • 1원1
    185
    2021-01-08 23:14:20

    제가 지금 서버개발자로 전향한지 3년넘게 좀 돼서

    안드로이드 기술내용을 조금밖에 파악하지 못하고 있지만

    안드로이드 Oreo 버전부터 백그라운드 실행 제한 정책이 강력해져서

    Oreo이상 버전을 사용하는 안드로이드 내에서는 foreground 서비스가 아닌 이상 잦은 빈도의 작업을 수행할 수 없는 것으로 알고 있습니다.

    https://developer.android.com/about/versions/oreo/background?hl=ko#services

    (JobScheduler를 사용하더라도 OS내에서 빈도주기최소값이 정해져있거나 안드로이드 폰의 절전모드 상황에 따라 짧은 주기의 작업이 강제로 긴 주기로 변경되어 실행 될 수 있습니다.)

  • 최지웅
    479
    2021-01-14 17:40:49

    답변 감사합니다.

  • 로그인을 하시면 답변을 등록할 수 있습니다.