일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- iOS앱 디버깅
- 앱의생명주기
- 프로그래머스
- IOS
- mrc
- algorithm
- unittest
- RC
- TDD
- 반응형프레임워크
- Bubble Search
- firebase
- ios면접
- ARC
- Swift코딩테스트
- SWIFT
- UIKit
- Di
- Safari Inspector
- RxSwift
- 시험에자주나오는것만
- HackersRank
- 코딩테스트입문
- ReactorKit UnitTest
- Swift디자인패턴
- hackerrank
- 카카오맵클론
- alamofire
- AutoLayout
- firestore
- Today
- Total
샘성의 iOS 개발 일지
앱이 foreground에 있을 때와 background에 있을 때 어떤 제약사항이 있는가? 본문
Foreground
앱과 사용자간의 직접적인 상호작용이 가능한 상태이다. 따라서, 메모리와 시스템 자원을 사용하는데에 우선순위가 있는 상태이다. 따라서 필요할 경우 (메모리를 많이 사용해야하는데 background에 있는 앱들 때문에 못 사용하는 경우 처럼..) background 앱을 종료하고 foreground에 있는 앱에게 우선순위를 준다. 그러므로 foreground에 있는 앱이 background로 전환할 때, 필요한 데이터를 저장하고 앱의 동작을 최소화하는 준비를 거친다.
Background
앱이 사용자와 직접적인 상호작용을 하는 상태가 아닌, 대기열 상태에 있는 것이다. foreground에 있는 앱과 반대로, 최대한 적은 메모리를 사용해야한다는 제약사항이 있어 사용자의 이벤트를 받기 어렵다는 특징을 갖고 있다. 또한, background에 있는 앱이 foreground로 전환되는 시점에, UI를 준비하고 사용자와의 상호작용을 준비한다.
간단 요약
- Forground : 사용자가 앱을 사용하고 있는 상태 (핸드폰 화면에 앱이 띄워진 상태)
사용자의 앱 사용중 상태 > 사용자와 상호작용 해야함 >> 지금 당장 일 해야하므로 우선순위에 있음 >>> 백그라운드로 갈 때 밀릴 준비 해야함 (필요한 데이터 저장, 앱 동작 최소화 등..)
- Background : 앱이 대기열에 있는 상태 (화면에 앱이 바로 보이진 않고 아이폰 밑에서 위로 제끼면 앱이 보이는 상태)
사용자랑 상호작용 안하는 상태 > 앱에 있는 버튼이나 그런거 못 누름 >> 우선 순위에서 밀림 >>> 다시 사용될 때 세팅이 잘 되어야함 (UI 준비, 사용자랑 상호작용 할 준비 등..)
'iOS > 면접' 카테고리의 다른 글
자신만의 Custom View를 만들려면 어떻게 해야하는지 설명하시오. (0) | 2023.05.09 |
---|---|
Foundation Kit은 무엇이고 포함되어 있는 클래스들은 어떤 것이 있는지 설명하시오. (0) | 2023.05.08 |
GCD API 동작 방식과 필요성에 대해 설명하시오. (0) | 2023.05.08 |
UIKit 클래스들을 다룰 때 꼭 처리해야하는 애플리케이션 쓰레드 이름은 무엇인가? (0) | 2023.05.05 |
Delegate란 무엇인지 설명하고, retain 되는지 안되는지 그 이유를 함께 설명하시오. (0) | 2023.05.05 |