ARC
-
[iOS] ARC란 무엇인가 & 메모리 누수Apple🍎/iOS 2024. 8. 23. 19:08
Swift - ARC 한글문서를 참고해서 정리한 문서입니다.2024.08.23 - [iOS] 메모리 구조앞의 글에서 "하지만 ARC도 강한 참조면 메모리 해제 못한다구?!" 에 이어서 ARC를 알아보자!ARC(Automatic Referecne Counting)란?객체의 생명주기와 관계를 모델링한다.이게 뭔 소리야..? 싶겠지만 앞에서 본 heap영역에 올라간 객체(클래스)의 생명주기, 관계를 모델링 해주는 역할이라고 생각하면 어떨까?대부분 Swift의 메모리 관리는 생각할 필요 없이, ARC가 알아서 클래스 인스턴스로 사용된 메모리를 할당/해제 해준다.(유의: 참조 카운팅은 클래스의 인스턴스에만 적용! 구조체,열거형은 참조 타입이 아닌 값 타입이므로 참조로 저장되거나 전달되지 않는다.)ARC의 작동 원..
-
[iOS/OS] 메모리 구조Apple🍎/iOS 2024. 8. 23. 17:46
메모리운영체제가 위처럼 보조기억장치(HDD)에서 프로그램 정보를, 메모리 program code 영역에 로드한다.이후 CPU는 프로그램 코드에 있는 메모리를 관리하면서 명령어를 실행한다.위의 RAM(흔히 메모리) 안에는 코드, 데이터, 스택, 힙 이렇게 4가지 영역으로 나뉜다.운영체제는 RAM에서 각각의 영역을, 프로그램이 실행될 때 얼만큼 프로그램에 할당할 것인지를 결정한다.운영체제는 각 프로그램을 “프로세스”로 관리한다.각 프로세스에 대해 가상 메모리 공간을 제공하고 이 공간은 해당 프로세스만이 사용할 수 있는 고유한 메모리 주소 범위를 가진다.가상 메모리각 프로그램이 자신만의 독립된 메모리 공간(가상 주소 공간)을 가지고 있다고 느끼게 하는 것이다. 실제로는 RAM에 프로그램이 필요한 데이터, 코드..