본문 바로가기

iOS/Memory & Optimizing4

[iOS] Strong Reference Cycle - 객체 참조 이번 글에서는, 이전 글의 마지막에 언급했던 Strong Reference Cycle에 대해서 알아보려 합니다. 이전에 작성했던 ARC에 대한 글을 읽어보시면, 이해하는데 도움이 됩니다. [iOS] 메모리 관리 기법 - ARC (Automatic Reference Counting) Xcode 4와 동시에 등장한 ARC(Automatic Reference Counting) 덕분에, iOS 개발자들은 레퍼런스 카운트 관리에서 해방될 수 있었습니다. 그렇다면 ARC는 어떻게 동작하기에 개발자들의 수고를 덜어주고 있을까요?.. mildwhale.tistory.com 이전 글에서 ARC가 객체의 참조 카운트를 추적하고, 더 이상 필요하지 않을 때(카운트가 0) 객체가 메모리에서 해제된다고 했습니다. 하지만, 프로.. 2019. 11. 19.
[iOS] 메모리 관리 기법 - ARC (Automatic Reference Counting) Xcode 4와 동시에 등장한 ARC(Automatic Reference Counting) 덕분에, iOS 개발자들은 레퍼런스 카운트 관리에서 해방될 수 있었습니다. 그렇다면 ARC는 어떻게 동작하기에 개발자들의 수고를 덜어주고 있을까요? 이번 글에서는 ARC가 어떤 역할을 하며, 어떻게 동작하는지 알아보려 합니다. 이전에 작성했던 레퍼런스 카운팅과 MRR에 대한 글을 읽고 나면, 이 글을 이해하는데 도움이 됩니다. [iOS] 메모리 관리 기법 - 레퍼런스 카운팅 (Reference Counting) 'iOS와 OS X의 메모리 관리와 멀티스레딩 기법'이라는 책을 접하게 되어 내용을 정리하고자 합니다. 이번 글의 주제는 메모리 관리 기법의 기본인 '레퍼런스 카운팅'과 '메모리 누수' 입니다. 레퍼런스 카.. 2019. 11. 5.
[iOS] 메모리 관리 기법 - MRR (Manual Retain Release) Xcode 4와 동시에 등장한 ARC(Automatic Reference Counting) 덕분에, iOS 개발자들은 레퍼런스 카운트 관리에서 해방될 수 있었습니다. 그럼 ARC가 도입되기 전에는 어떤 방식으로 레퍼런스 카운트를 관리했을까요? 이번 글과 다음 글에서는 '레퍼런스 카운팅'을 활용한 메모리 관리 방법에 대해 알아보려고 합니다. 레퍼런스 카운팅에 대한 내용이 궁금하다면 이전 글을 참고해주세요. [iOS] 메모리 관리 기법 - 레퍼런스 카운팅 (Reference Counting) 'iOS와 OS X의 메모리 관리와 멀티스레딩 기법'이라는 책을 접하게 되어 내용을 정리하고자 합니다. 이번 포스팅의 주제는 메모리 관리 기법의 기본인 '레퍼런스 카운팅'과 '메모리 누수' 입니다. 레퍼런스 카운팅.. .. 2019. 10. 31.
[iOS] 메모리 관리 기법 - 레퍼런스 카운팅 (Reference Counting) 'iOS와 OS X의 메모리 관리와 멀티스레딩 기법'이라는 책을 접하게 되어 내용을 정리하고자 합니다. 이번 글의 주제는 메모리 관리 기법의 기본인 '레퍼런스 카운팅'과 '메모리 누수' 입니다. 레퍼런스 카운팅 레퍼런스 카운팅(Reference Counting)은 iOS(Mac OS)에서 사용하는 메모리 관리 방법입니다. 이 방법 객체를 참조하는 수(Reference Count)의 증가 또는 감소를 통해 메모리를 관리하게 됩니다. 객체를 생성하거나 참조 하게되면 레퍼런스 카운트는 '+1' 증가하게 되고, 해당 객체의 사용이 끝나거나 객체를 반환(release)할 경우 레퍼런스 카운트가 '-1' 감소됩니다. 최종적으로 해당 객체의 레퍼런스 카운트가 '0'이 될 경우 해당 객체는 메모리에서 소멸됩니다. 객체.. 2019. 10. 31.