[Android] Foreground, Background, Foreground Service, Background Service 개념 정리
1. Foreground (포그라운드)
- 사용자가 현재 보고 있는 앱 상태
- 앱이 화면에 표시되고 있으며, 사용자의 입력을 받을 수 있는 상태
2. Background (백그라운드)
- 앱이 화면에서 사라졌지만 실행 중인 상태
- 사용자가 앱을 사용하지 않고 있지만, 앱이 실행되고 있다.
- 안드로이드 시스템이 필요하면 백그라운드 앱을 종료할 수 있다.
- Android 8.0(API 26) 이상에서는 백그라운드 실행 제한이 있다.
예시
- 홈 버튼을 눌러 앱을 빠져나왔지만, 앱이 종료되지 않고 백그라운드에서 실행 중인 경우
- 다른 앱을 실행했지만 이전 앱이 메모리에 남아 있는 경우
3. Foreground Service (포그라운드 서비스)
- 백그라운드에서 실행되지만, 사용자에게 노출되는 서비스
- 안드로이드 시스템이 임의로 종료하지 않는다.
- 알림(Notification)을 필수로 제공해야 한다.
예시
- 음악 앱 : 음악을 재생하는 동안 알림 표시
- 운동 기록 앱 : 실시간으로 운동 기록
4. Background Service (백그라운드 서비스)
- Background Service는 사용자가 앱을 직접 사용하지 않는 상태에서 실행되는 서비스
- UI 없이 백그라운드에서 특정 작업을 수행
특징
- 사용자가 보지 않는 상태에서 실행되는 서비스
- UI 없이 백그라운드에서 작업을 수행한다.
- 시스템이 메모리가 부족 시 종료할 가능성이 높다.
- 일정 시간이 지나면 자동 종료된다.