샘성의 iOS 개발 일지

앱이 In-Active 상태가 되는 시나리오를 설명하시오. 본문

iOS/면접

앱이 In-Active 상태가 되는 시나리오를 설명하시오.

SamusesApple 2023. 6. 1. 15:07
728x90

 

In-Active 상태란?

  In-Active는 Active 상태를 감싸고 있는 영역이다. 따라서 Not Running 상태의 앱이 Foreground에 들어설 때, 반대로 화면을 점유하고 있던 앱이 Background에 들어설 때 거쳐가는 관문과 같은 영역이다.

 

 

 

In-Active 상태를 거치게 되는 과정

  1. 대기열에 존재하지 않은 앱을 실행하면 앱은 Foreground에 들어서게 된다. (Not Running -> Foreground)

  1-1. Foreground에 들어갈때 In-Active 상태를 거치고 Active 상태에 들어선다.

 

  2. 반대로, 사용하고 있는 앱을 홈화면에 넣으면 앱은 Background에 들어서게 된다. (Foreground -> Background)

  2-1. Background에 들어갈때도 Active 상태에서 나오고 In-Active 상태를 거쳐서 Background Running 상태에 들어선다.

 

  3. Background Running 상태에 있는 앱은 제한적인 기능만 가능하다. Foreground 상태일 때 마무리하지 못한 작업들을 약 5분정도 되는 제한시간 이내에 마무리 지어야한다.

 

  4. 제한 시간이 초과되면 Background Running 상태에서 앱은 Suspend 상태가 된다. (메모리는 있지만 코드 실행 안되는 상태)

 

  5. 현재 화면을 점유하고 있는 앱에 메모리를 더 사용해야하는데 메모리가 부족한 경우, Background에 있는 앱은 강제종료 될 수 있다.

 

  6. 강제 종료된 앱을 재실행 한 경우, 다시 1번의 과정이 시작된다. (Not Running -> Foreground)

 

  ** 만약 Foreground에 있는 앱을 사용하는 도중, 문자메세지가 오면 앱은 Active -> In-Active 상태가 된다. **

     (실행 중인 앱이 외부 요인으로 인해 잠시 컨트롤이 안된 경우 Active -> In-Active 상태가 됨)

 

 

 

728x90