샘성의 iOS 개발 일지

앱이 foreground에 있을 때와 background에 있을 때 어떤 제약사항이 있는가? 본문

iOS/면접

앱이 foreground에 있을 때와 background에 있을 때 어떤 제약사항이 있는가?

SamusesApple 2023. 5. 8. 11:26
728x90

 

Foreground

 앱과 사용자간의 직접적인 상호작용이 가능한 상태이다. 따라서, 메모리와 시스템 자원을 사용하는데에 우선순위가 있는 상태이다. 따라서 필요할 경우 (메모리를 많이 사용해야하는데 background에 있는 앱들 때문에 못 사용하는 경우 처럼..) background 앱을 종료하고 foreground에 있는 앱에게 우선순위를 준다. 그러므로 foreground에 있는 앱이 background로 전환할 때, 필요한 데이터를 저장하고 앱의 동작을 최소화하는 준비를 거친다.

 

 

Background

 앱이 사용자와 직접적인 상호작용을 하는 상태가 아닌, 대기열 상태에 있는 것이다. foreground에 있는 앱과 반대로, 최대한 적은 메모리를 사용해야한다는 제약사항이 있어 사용자의 이벤트를 받기 어렵다는 특징을 갖고 있다. 또한, background에 있는 앱이 foreground로 전환되는 시점에, UI를 준비하고 사용자와의 상호작용을 준비한다.

 

 

 

간단 요약

  - Forground : 사용자가 앱을 사용하고 있는 상태 (핸드폰 화면에 앱이 띄워진 상태)

사용자의 앱 사용중 상태  >  사용자와 상호작용 해야함  >>  지금 당장 일 해야하므로 우선순위에 있음  >>>  백그라운드로 갈 때 밀릴 준비 해야함 (필요한 데이터 저장, 앱 동작 최소화 등..) 

 

  - Background : 앱이 대기열에 있는 상태 (화면에 앱이 바로 보이진 않고 아이폰 밑에서 위로 제끼면 앱이 보이는 상태)

사용자랑 상호작용 안하는 상태  >  앱에 있는 버튼이나 그런거 못 누름  >>  우선 순위에서 밀림  >>>  다시 사용될 때 세팅이 잘 되어야함 (UI 준비, 사용자랑 상호작용 할 준비 등..)

728x90