App Lifecycle
·
🍎 iOS/UIkit
앱의 생명주기를 공부하는 이유 앱의 비활성화, 백그라운드, 종료 시점을 파악하기 위해 공부한다. iOS13이후 iOS13 이후부터는 SceneDelegate.swift에서 장면 기반의 앱의 생명주기를 다룬다. SceneDelegate 내부의 메서드들을 통해 시점을 파악할 수 있다. Unattached scene이 아직 연결되지 않은 상태 Foreground inactive 앱이 foreground에서 실행중이지만 아무런 이벤트를 받지 않고 있는 상태 Background 앱이 Background에 있으며 실행되는 코드가 있는 상태 대부분 앱은 suspended상태로 이행하는 도중에 일시적으로 이 상태에 진입하지만 파일 다운로드, 업로드 등 특정 시간동안 이 상태로 남아있게 되는 경우도 있다. Suspend..
ViewController LifeCycle
·
🍎 iOS/UIkit
시점을 중심으로 기억해야한다. viewDidLoad 뷰가 생성되었을 때 한번만 호출되며, 스토리보드상의 뷰들과 연결이 끝난 시점을 의미한다. viewWillAppear 뷰가 화면에 나타날때마다 계속 호출되며, 실제 스크린에 뷰가 나타나기 전에 호출된다. viewDidAppear 실제 스크린에 뷰가 나타난 후에 호출된다. viewWillDisAppear 실제 스크린에 뷰가 사라지기 전에 호출된다. viewDidDisappear 실제 스크린에 뷰가 사라진 후에 호출된다. 메모리에서 없어진 것은 아니다.
메모리 구조
·
💻 CS/자료구조
메모리 모델 stack 영역 프로그램이 자동으로 사용하는 메모리 영역이다. 함수호출과 관계되는 지역변수와 매개변수가 저장된다. 함수 호출 시 생성되며, 함수가 끝나면 반환된다. stack 사이즈는 각 프로세스마다 할당되지만 프로세스가 메모리에 로드될 때 stack 사이즈가 고정되어 있어 런타임 시 stack 사이즈를 바꿀 수 없다. 명령 실행 시 자동으로 증가 or 감소하기 때문에 보통 메모리의 마지막 번지를 지정한다. heap 영역 필요에 의해 동적으로 할당할 때 사용하는 메모리 영역이다. C에서 malloc(), calloc() 등의 함수를 사용하여 메모리 크기를 할당할 수 있다. 메모리 주소 값에 의해서만 참조되는 영역이다. stack영역과 heap영역은 사실 같은 공간을 공유한다. heap이 메모..
JerryiOS
Jerry