시스템에서 요청하면 메모리를 확보하시오.
Overview
시스템의 여유 메모리가 부족하고 일시 중단 된 앱을 종료하여 메모리를 회수 할 수 없는 경우 UIKit은 실행중인 앱에 메모리 부족 경고를 보낸다.
UIKit은 다음과 같은 방법으로 메모리 부족 경고를 제공한다.
- 앱 대리자의 applicationDidReceiveMemoryWarning(_:) 메서드를 호출한다.
- 활성 UIViewController 클래스의 didReceiveMemoryWarning() 메서드를 호출한다.
- 등록 된 관찰자에게 didReceiveMemoryWarningNotification 오브젝트를 게시한다.
- DISPATCH_SOURCE_TYPE_MEMORYPRESSURE 유형의 큐를 dispatch 하도록 경고를 전달한다.
앱에 메모리 부족 경고가 표시되면 최대한 빨리 메모리를 최대한 확보하시오. 이미 디스크에 표시되어 있고 나중에 다시 로드 할 수 있는 이미지, 미디어 파일 또는 대용량 데이터 파일에 대한 참조를 제거한다. 더 이상 필요하지 않은 임시 개체에 대한 참조를 제거한다. 활성 작업이 상당한 양의 메모리를 사용할 수 있는 경우 dispatch queue를 일시 중지하거나 앱에서 수행하는 동시 작업 수를 제한한다.
중요
앱의 메모리 사용량을 줄이지 않으면 앱이 종료 될 수 있다. 따라서 정리 작업의 일부로 저장되지 않은 데이터를 디스크에 쓰는 것을 고려하시오.
메모리 부족 경고에 대한 앱의 응답을 테스트하려면 iOS 시뮬레이터에서 Simulate Memory Warning command을 사용하시오.
[원문]
Apple Developer Documentation
developer.apple.com
'프로그래밍 > iOS' 카테고리의 다른 글
UITableView (0) | 2021.01.05 |
---|---|
MVVM(Model-View-ViewModel) 패턴 (0) | 2021.01.01 |
Performing One-Time Setup for Your App (0) | 2020.12.31 |
Responding to the Launch of Your App (0) | 2020.12.31 |
Background Tasks (0) | 2020.12.31 |