본문 바로가기

iOS25

힙 메모리 관리 - ARC 정리 힙 메모리를 왜 관리해야할까? 스위프트에서 값 형식은 스택에 저장이 되고 그 스택의 스코프가 종료되면 메모리에서 자동으로 제거되기 때문에 메모리 관리를 할 필요가 없다 ! 그에 반해, 참조형식은 힙 영역에 저장이 되고 힙은 동적할당을 하기 때문에 우리는 메모리 관리를 해야한다. 여기서 동적할당은? 🧐 힙이라는 공간은 저장할 공간이 정해져있지않고 스캔을 해서 비어있는 공간에 할당을 한다는 개념! 힙에 할당되는 데이터를 관리를 하지 않는다면 (데이터가 필요 없음에도 할당이 해제되지 않는다면) 메모리 누수 (Memory Leak) 현상이 발생한다! (메모리가 쌓이기만 하고 지워지지 않으면 메모리가 많은 공간을 차지하고 앱이 꺼지는 현상이 발생할 수 있음) 그럼 힙 영역의 메모리를 관리를 어떻게 해야할까?! 일.. 2022. 1. 13.
[곰튀김 RxSwift + MVVM 시즌2 - 2교시] RxSwift 활용하기 - 쓰레드의 활용과 메모리 관리 https://github.com/iamchiwon/RxSwift_In_4_Hours GitHub - iamchiwon/RxSwift_In_4_Hours: RxSwift, 4시간 안에 빠르게 익혀 실무에 사용하기 RxSwift, 4시간 안에 빠르게 익혀 실무에 사용하기. Contribute to iamchiwon/RxSwift_In_4_Hours development by creating an account on GitHub. github.com 해당 포스팅은 위의 곰튀김님 시즌2 RxSwift + MVVM 강의와 코드를 복습할겸 정리해본 (개인 공부를 위한) 포스팅입니다. 강의에서는 해당 목차와 달리, 순서없이 진행되었지만 튀김님이 정리해놓은 목차에 따라 정리해볼 것이다! [2교시] RxSwift 활용.. 2021. 12. 29.
[곰튀김 RxSwift + MVVM 시즌2 - 1교시] RxSwift를 사용한 비동기 프로그래밍 https://github.com/iamchiwon/RxSwift_In_4_Hours GitHub - iamchiwon/RxSwift_In_4_Hours: RxSwift, 4시간 안에 빠르게 익혀 실무에 사용하기 RxSwift, 4시간 안에 빠르게 익혀 실무에 사용하기. Contribute to iamchiwon/RxSwift_In_4_Hours development by creating an account on GitHub. github.com 해당 포스팅은 위의 곰튀김님 시즌2 RxSwift + MVVM 강의와 코드를 복습할겸 정리해본 (개인 공부를 위한) 포스팅입니다. [1교시] 개념잡기 - RxSwift를 사용한 비동기 프로그래밍 Observable Observable create subscrib.. 2021. 12. 26.
클로저의 메모리 구조 + 캡처현상 / 캡처리스트 일단 클로저의 메모리 구조를 정리하기 전에 클로저가 무엇인지? 간단하게 정리해보자. 클로저는 이름이 없는 함수이다. 그럼 클로저는 왜 함수 이름이 필요 없을까? 클로저는 주로 콜백 함수 형태로 사용하기 때문에 이름이 필요 없다. * 여기서 콜백 함수는? 🧐 다른 함수의 인자로 사용되는 함수 어떤 이벤트 후 호출되는 함수 그럼 이러한 클로저는 왜 사용될까? 콜백 함수로 클로저의형태가 간단하기도 하고 사후적 정의가 가능하기 때문! 클로저가 무엇인지 대충 정리했으니, 이제 클로저의 메모리 구조에 대해 정리해보자! 클로저는 참조 형식이기 때문에 클래스처럼 값을 힙 메모리에 저장을 한다. (클로저의 실제 명령어는 당연히 코드 영역에, 코드 영역을 가리키는 주소는 힙!! 에 저장, 클로저도 함수일 뿐이기 때문에 실.. 2021. 12. 22.