📱 Mobile/🌠 iOS

[iOS 면접 준비] 앱이 foreground에 있을 때와 background에 있을 때의 제약사항

exception_log 2021. 5. 31. 10:40

출처 : JeaSungLEE님 GIthub

 

JeaSungLEE/iOSInterviewquestions

👨🏻‍💻👩🏻‍💻iOS 면접에 나올 질문들 총 정리 . Contribute to JeaSungLEE/iOSInterviewquestions development by creating an account on GitHub.

github.com

 

<!-- iOS 면접 준비를 위해 이재성님 깃허브를 참고하며 하나씩 직접 답을 찾아 작성합니다. 

매일 2~3개의 질문에 스스로 답변해보고, 추가 자료를 찾아보는 방식으로 공부해보려고 합니다. -->

 

 

  • Foreground mode는 메모리 및 기타 시스템 리소스에 높은 우선순위를 가지며 시스템은 이러한 리소스를 사용할 수 있도록 필요에 따라 background 앱을 종료합니다.
  • Background mode는 가능한 적은 메모리공간을 사용해야함(시스템 리소스 해제, 메모리에서 해제 후 데이터를 디스크에 작성) 사용자 이벤트를 받기 어렵고 공유 시스템 리소스를 해제하고 이미지 객체 참조 등 메모리 제한

 

 

  • not Running : 앱이 실행되지 않은 상태

 

  • Foreground상태 : APP이 실행되어 클라이언트에게 보여지고 있는 상태
    • Inactive 앱이 실행중이지만 아직 아무런 이벤트를 받지 않은 상태 (Foreground 상태에서 전화가 왔을때, 잠금상태, 멀티태스킹 스크린에서는 InActive 상태를 가집니다.)
    • Active 앱이 실행중이며 현재 이벤트를 받고 있고 발생한 상태
  • Background : 앱이 백그라운드에 있는 상태이지만 여전히 실행되고있는 코드가 있는 상태
  • Suspened : 앱이 백그라운드에 있고 실행되는 코드가 없는 상태 (App은 여전히 메모리에 존재하며 Suspend 상태가 될 당시의 상태를 저장하고 있지만, CPU나 배터리를 소모하지 않습니다. 언제든지 메모리 부족등의 이유로 종료됨.)

 

반응형