Open vichye-1 opened 8 months ago
앱이 background에 있는가, foreground에 있는가에 따라서 시스템 알림에 응답하고 다른 중요한 시스템 관련된 이벤트를 처리하게 됨. 현재 app의 state(상태) 는 어떠한 것을 할 수 있고 없는지를 결정하게 됨.
예를 들어 foreground 앱은 user가 사용하고 있기 때문에 user의 관심을 받게되고 따라서 CPU를 포함한 system resource에서 우선순위를 가지게 됨 반면에 background 앱은 화면의 밖의 일이기 때문에 가능한 작업을 수행하지 않는 것이 좋음. 따라서 우리의 앱은 상태가 바뀔 때 마다 이에 대응해서 동작을 조정해야함
각 상태변화에 따른 UIApplicationDelegate 메서드를 통해 앱의 행동을 적절하게 조절하면 더 나은 사용자 경험과 효율적인 리소스 관리가 가능함
~ iOS 12 : App-Based
App States in iOS
1. Not running
2. (Foreground) Inactive
3. (Foreground) Active
4. Background
5. Suspend
참고