2024/04 3

iOS 앱의 메모리 사용량 최적화

iOS 앱의 메모리 사용량을 최적화하는 방법은 여러 가지가 있으며, 이는 앱의 성능과 사용자 경험에 직접적인 영향을 미칩니다. 1. 메모리 캐싱 기법 메모리 캐싱은 데이터를 메모리에 저장하여 빠른 접근을 가능하게 하는 기법입니다. iOS에서는 NSCache를 사용하여 이미지 캐싱을 구현할 수 있습니다. NSCache는 메모리 부족 시 자동으로 캐시된 데이터를 제거하여 메모리 사용량을 관리합니다. 예시 코드 import UIKit class ImageCache { static let shared = ImageCache() private var cache = NSCache() // 이미지를 캐시에 저장 func setImage(_ image: UIImage, forKey key: String) { self...

iOS/Common 2024.04.03

iOS에서의 동시성 처리 방식 - GCD, Operation Queue 그리고 Actor

동시성 프로그래밍의 개념 동시성 프로그래밍은 여러 작업을 동시에 실행하여 전체 작업의 처리 시간을 줄이는 것을 목표로 합니다. 이는 컴퓨터의 여러 코어를 활용하여 여러 작업을 동시에 처리하거나, 하나의 코어에서 여러 작업을 빠르게 전환하여 실행하는 방식으로 이루어집니다. 동시성 프로그래밍은 작업의 처리 시간을 줄이는 것 외에도, 사용자 인터페이스의 반응성을 향상시키고, 네트워크 요청과 같은 시간이 오래 걸리는 작업을 백그라운드에서 처리하여 앱의 전반적인 성능을 향상시키는 데 중요합니다. 병렬 처리와 동시 처리 차이 (1) 병렬 처리(Parallel Processing) : 여러 코어를 사용하여 여러 작업을 동시에 처리합니다. 이는 작업의 처리 시간을 줄이는 데 효과적이지만, 작업 간의 데이터 공유와 동기..

iOS/Common 2024.04.02

iOS 메모리 관리와 최적화

메모리 관리는 iOS 앱 개발에서 중요한 주제 중 하나입니다. 메모리는 디바이스에서 정보를 저장하는 데 사용되는 모든 하드웨어를 포함하며, 앱이 실행될 때 실행 가능한 모든 명령어가 RAM에 로드됩니다. 이 때, 시스템은 Heap이라고 불리는 RAM의 일부를 클레임하며, 이곳에서 클래스의 모든 인스턴스가 앱이 실행되는 동안 생존합니다. 메모리 관리는 Heap 메모리의 생명 주기를 관리하면서 더 이상 필요하지 않은 객체가 해제되어 메모리를 재사용할 수 있도록 하는 과정을 의미합니다. iOS 디바이스의 메모리 제약과 앱 메모리 제한 iOS 디바이스의 메모리 제한은 디바이스의 RAM 용량에 따라 달라집니다. 예를 들어, iPhone XS부터 iPhone 13까지는 3GB 이상의 RAM을 가진 디바이스에서 사용..

iOS/Common 2024.04.01