일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
- Di
- Safari Inspector
- firebase
- mrc
- unittest
- Swift코딩테스트
- Bubble Search
- UIKit
- algorithm
- ios면접
- hackerrank
- Swift디자인패턴
- AutoLayout
- ARC
- 코딩테스트입문
- 반응형프레임워크
- IOS
- SWIFT
- firestore
- RC
- alamofire
- ReactorKit UnitTest
- 앱의생명주기
- 프로그래머스
- 시험에자주나오는것만
- iOS앱 디버깅
- 카카오맵클론
- TDD
- RxSwift
- HackersRank
- Today
- Total
샘성의 iOS 개발 일지
앱이 In-Active 상태가 되는 시나리오를 설명하시오. 본문
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 상태가 됨)
'iOS > 면접' 카테고리의 다른 글
앱의 콘텐츠나 데이터 자체를 저장/보관하는 특별한 객체를 무엇이라고 하는가? (1) | 2023.06.03 |
---|---|
Global DispatchQueue 의 QoS 에는 어떤 종류가 있는지, 각각 어떤 의미인지 설명하시오. (0) | 2023.06.01 |
@main에 대해서 설명하시오. (0) | 2023.06.01 |
상태 변화에 따라 다른 동작을 처리하기 위한 앱델리게이트 메서드들을 설명하시오. (0) | 2023.05.18 |
앱 화면의 콘텐츠를 표시하는 로직과 관리를 담당하는 객체를 무엇이라고 하는가? (0) | 2023.05.13 |