samsung-ga / woody-iOS-tip

🐶 iOS에 대한 소소한 팁들과 개발하다 마주친 버그 해결기, 그리고 오늘 배운 것들을 모아둔 레포
19 stars 0 forks source link

iOS 메모리 사용에 관해 #38

Open samsung-ga opened 2 years ago

samsung-ga commented 2 years ago

메모리

아이폰 디바이스에서 메모리는 매우 제한적이다. 그럼 하나의 앱이 메모리를 너무 많이 사용하면 어떻게 될까?

Reducing Your App's Memory Use

Reducing Your App's Memory Use

개요

디바이스이 있는 메모리(RAM)은 여러 앱, OS, kernel 등이 공용으로 사용하는 제한된 리소스이다. iOS는 모두가 적절히 메모리를 사용할 수 있게 여러기술을 통해 분배해주지만, 이 기술들이 속도와 응답성(?)이라는 트레이드 오프가 있다. 예를들어, iOS는 백그라운드에서 동작하는 앱이 메모리를 많이 사용한다면 solid-state 스토리지로 보낼 수 있다. 그렇게 되면 앱이 백그라운드 작업을 다시 실행시키거나 포그라운드로 돌아오려고 딜레이가 발생한다.

하나의 앱이 너무 많은 메모리에 욕심을 부리면 아이폰은 적당히 쓰라고 경고 메세지를 보낸다. 앱이 메모리 사용량의 한계까지 사용하고 있다는 의미의 리포트를 보낸다(본 적이 없는데..) 하지만 종료되지는 않고 곧 종료될 수 있다는 경고이다. 계속 사용해서 결국 메모리 제한을 넘어버리면 앱이 강제 종료된다.

앱이 사용하는 메모리의 제한량을 둔다면, 유저가 다른 앱을 사용할 때에 이점을 얻을 수 있다. 그럼 메모리 사용량에 대해 더 자세히 알아보자.

메모리 사용에 관한 이해

메모리가 사용되는 순간?

metrickit-allocating-pages~dark@2x

앱 메모리 사용량 확인하는 방법

스크린샷 2022-08-28 오후 1 47 55

Gathering Information About Memory Use