비디오: To Realtime or Not? | Get to Know Cloud Firestore #10 2024
iOS 앱은 일반적인 라이프 사이클을 따릅니다. 처음에는 앱이 실행 파일 일뿐입니다. 실행 중이 아니며 사용자가 아이콘을 클릭 할 때까지 참을성있게 거짓말을합니다. 앱이 시작되면 수많은 초기화 단계를 거칩니다. 이 일시적 기간 동안 앱은 비활성 상태입니다.
실제로 실행중인 앱은 이지만 이벤트를 수신하지 않으므로이 시간에는 아무 것도 상호 작용할 수 없습니다. 그런 다음 앱이 활성 상태로 전환됩니다. 이 활성 상태는 앱의 유용한 상태입니다. 대부분의 앱은 일시 중지되기 전에 짧은 시간 동안이 상태를 유지합니다. 그러나 앱은 다음 번 시작될 때 사용하기 위해 상태를 파일에 저장하는 것과 같이 일부 처리를 완료하는 데 추가 시간을 요청할 수 있습니다.
또한 백그라운드에서 실행하기위한 앱은이 상태로 들어가서 머무를 것입니다. 백그라운드의 앱은 사용자 인터페이스가 보이지 않아도 이벤트를 수신하고받을 수 있습니다.
일시 중지 상태의 앱이 코드를 실행하고 있지 않습니다. 그러나, 그것은 힘과 프로세서를 사용하고 있습니다. 시스템은 리소스를 더 보존해야 할 때마다 앱을이 상태로 이동시키고 앱에 알리지 않고 실행합니다. 메모리가 부족하면 시스템에서 응용 프로그램을 제거하여 더 많은 공간을 확보 할 수 있습니다.
앱 상태가 전환되면서 앱의 특정 메소드 (즉, 작성한 코드)가 여기에 설명 된대로 호출됩니다.
app의 첫 번째 초기화 후 appDidFinishLaunchingWithOptions가 호출되고, 사용자 인터페이스를 설정하는 앱의 코드 부분이 호출됩니다.그러면 사용자가 앱을 봅니다. 이제 앱은 사용자 상호 작용을 기다리는 이벤트 루프에 위치합니다.
-
사용자가 앱과 상호 작용하면 이벤트가 트리거되고 이벤트에 연결된 콜백 메소드가 호출됩니다. 대부분 콜백 메소드는 iOS 프레임 워크의 일부로 제공되는 재사용 가능한 코드 일지라도 앱의 개발자가 작성한 코드로 구성됩니다.
콜백 메소드가 완료되면 앱은 이벤트 루프로 돌아갑니다. 이 일련의 작업 (콜백 메소드를 트리거하는 이벤트)은 앱이 종료되거나 백그라운드 상태가되는 이벤트를 수신 할 때까지 진행됩니다.