적당한 고통은 희열이다

- 댄 브라운 '다빈치 코드' 중에서

Swift iOS 앱 개발/iOS

[iOS] 애플의 메모리 관리법 ARC

hongssup_ 2021. 4. 29. 09:56
반응형

RC

Reference Counting

애플에서 메모리 관리하는 방법

메모리를 할당하거나, 메모리 포인터를 참조할 때 레퍼런스 카운트를 증가시키고, 사용을 완료하면 레퍼런스 카운트를 감소시켜 메모리를 관리. 

MRC

Manual Reference Counting 

Objective-C로 개발할 때에는 개발자가 직접 참조 관리를 했었다. 

alloc, new, copy, mutableCopy, retain 등을 사용해 레퍼런스 증가하고, release 등을 사용해 감소. 

 

ARC

Automatic Reference Counting

iOS 4 이상부터 자동으로 레퍼런스 카운트를 관리해주는 기능이 생김. 

개발자가 메모리 관리에 대해 따로 생각할 필요가 없다. 

 

메모리 참조 순환

Strong, Weak, Unowned Reference Cycles

Strong : 기본 디폴트 값. 강한 참조. 레퍼런스 카운트 증가시킴. 

Weak, Unowned : 대상 객체에 대해 레퍼런스 카운트를 증가시키지 않는다. 보통 언래핑을 통해 안전하게 사용할 수 있는 weak 을 많이 씀. 

 

 

 

참고 : Github.io

Medium-Clint Jang

728x90
반응형