App LifeCycle
iOS 앱의 생명주기는 앱이 실행되고 종료되는 과정을 말합니다. 주요 상태로는 Not Running, Inactive, Active, Background, Suspended가 있습니다. AppDelegate나 SceneDelegate에서 각 상태 변화에 따른 메서드를 구현하여 앱의 동작을 제어할 수 있습니다.
Memory
iOS 앱 개발에서 메모리 관리는 앱의 성능과 안정성에 직접적인 영향을 미치기 때문에 중요합니다. 메모리 누수를 방지하고 효율적인 메모리 사용을 위해 ARC를 활용하며, 큰 객체는 사용 후 즉시 해제하는 등의 방법을 사용합니다.
ARC (Automatic Reference Counting)
ARC는 iOS에서 자동으로 메모리를 관리해주는 시스템입니다. 객체의 참조 횟수를 추적하여 더 이상 사용되지 않는 객체를 자동으로 메모리에서 해제합니다. 개발자는 strong, weak, unowned 등의 참조 타입을 적절히 사용하여 참조 순환을 방지하고 메모리 관리를 최적화할 수 있습니다.
Concurrency
동시성은 여러 작업을 동시에 처리하는 개념입니다. iOS에서는 GCD(Grand Central Dispatch)와 Operation을 주로 사용하여 동시성을 구현합니다. 이를 통해 메인 스레드의 부하를 줄이고 앱의 반응성을 향상시킬 수 있습니다. 또한 async/await를 사용한 비동기 프로그래밍도 가능합니다.