본문 바로가기

swift closure

(3)
[iOS] No 3. 메모리 점유율 줄이기. Retain cycle 형성 원인 분석 및 해결 과정 안녕하세요!  오늘은 앱 UI 리펙터링을 하기 전에 화면을 A -> B -> A -> B 두 화면을 왔다 갔다를 반복하면서 마주한 메모리 점유율이 계단식으로 상승했던 이유와 어떻게 파악했는지 원인과 해결 과정을 소개하려고 합니다.# Memgraph# instruments - Allocations# retain cycle# lottie# functional programming 화면 소개 및 메모리 계단식 점유 발생 이슈 성경 읽기 플랜 화면은 다음과 같이 구성되어 있습니다! 처음에 들어갈 때는 메모리 관련 이슈가 없지만, 3초 간격을 두며 반복해서 형광펜, 성경 읽기 플랜 두 화면을 전환하다 보면 메모리가 계단으로 점유되는 현상을 발견했습니다.  ViewController는 deinit될 수 있지만, 그..
[iOS] 뷰 컨트롤러 강한 참조 발생 경험와 해결 방법. Strong reference closure | ARC 진짜 뿌수기 #1 안녕하세요: ] 이번 포스트는 ARC와 RC(retain count), strong reference cycle에 대한 간단한 개념을 정리할 것입니다. 포스트의 후반부에는 제가 실제로 개발하며 때 런타임 때 viewController, coordinator와 navigation controller, closuer의 관계에서 발생된 strong referency cycle! 이슈관련해서 메모리가 증가됬던 경험과 해결 방법을 소개하려고 합니다 +_+ ARC와 RC란?! ARC와 RC를 탐구하기 전에 간단히 값 타입(Value type)과 참조 타입(Reference type)을 비교해보려고 합니다. Value type vs Reference type Swift는 크게 값(value)타입과 참조(refere..
[Swift] 클로저 @escaping과 @non-escaping의 생명주기, 개념과 차이 탐구 [Swift] ver 5.7 에서 @escaping, @non-escaping closure의 차이를 탐구하는 글 입니다. "형 @escaping과 @non-escaping의 정확한 차이를 모르겠어" ... : 나도 모르겠는데 ??!?! 함수의 생명주기 @Escaping과 @non-escaping 클로저의 차이를 설명하기 전에 함수의 생명주기를 간단하게 설명하려고 합니다. 함수는 계속해서 호출 할 탠데 호출 될 때마다 메모리에 계속 함수들의 정보(매개변수, 함수 안 변수들 등)가 쌓일까요?? X. 함수가 호출을 하는 시점에 스택 영역에 할당 되었다가 함수가 끝나는 시점에 스택 영역에서 해제가 됩니다. 즉 호출을 하면 return 되는 시점에 메모리에서 해제 됩니다. 클로저 정의 여러번 사용되는 코드는 함..