issues
search
HypeDitto
/
iOS-Study
iOS 기술 면접 대비
0
stars
0
forks
source link
앱이 foreground에 있을 때와 background에 있을 때 어떤 제약사항이 있나요?
#8
Open
YouHojoon
opened
1 year ago
YouHojoon
commented
1 year ago
foreground 상태에 있을때에는 메모리 및 기기 리소스를 최우선적으로 가지며 필요시 부족한 메모리만큼 background 상태의 애플리케이션을 종료한다.
background 상태일 경우에는 가능한 적은 메모리 공간을 사용해야하는 제약이있다. 하지만 아래의 경우에는 실행시간을 할당 받는다.
AirPlay, PiP를 사용한 오디오 통신
사용자 위치 서비스
Voice over IP
외부 악세서리와의 통신
블루투스 LE 통신
서버에서의 업데이트
Apple Push Notificaiton
앱의 상태
not Runing
앱이 실행되지 않은 상태
Foreground
Inactive : 앱이 실행중이나 아무런 이벤트를 받지 않은 상태
Active : 현재 이벤트를 받고 있고 발생한 상태
Background
앱이 백그라운드에 있는 상태이지만 여전히 실행되고 있는 코드가 있는 상태
Suspened
앱이 백그라운드에 있으나 실행되고 있는 코드가 없는 상태이며, CPU나 배터리를 소모하지않고 언제든지 종료될 수 있다.
HeegeePark
commented
1 year ago
Foreground
Active: 앱이 실행중이며 이벤트가 발생한 상태
Inactive: 앱이 실행중인 상태 그러나 아무런 이벤트를 받지 않는 상태
Background
Running: 앱이 백그라운드에 있는 상태 그러나 실행되는 코드가 있는 상태
Suspend: 앱이 백그라운드에 있고 실행되는 코드가 없는 상태
foreground 제약사항
공유 시스템 리소스를 사용하는데 우선순위를 가짐
background 제약사항
사용자 이벤트 받기 어려움
공유 시스템 리소스 해제, 이미지 객체 참조 해제 등 메모리 제한
특정 유형의 앱만 백그라운드에서 실행 가능
앱의 상태