메모리·ARC
순환 참조 진단과 해결
특정 화면을 닫아도 그 뷰컨트롤러가 메모리에서 사라지지 않는 것 같습니다. 순환 참조가 실제로 있는지 어떻게 확인하겠습니까?
면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
특정 화면을 닫아도 그 뷰컨트롤러가 메모리에서 사라지지 않는 것 같습니다. 순환 참조가 실제로 있는지 어떻게 확인하겠습니까?
deinit 로그·브레이크포인트로 해제 여부를 보고, 안 불리면 Memory Graph Debugger에서 그 인스턴스를 골라 누가 강하게 잡고 있는지 참조 경로를 확인한다. Instruments Leaks는 도달 불가능한 메모리만 보여 순환 참조를 놓칠 수 있다.
메모리·ARC주관식기초
실제로 겪은 메모리 누수를 하나 떠올려 보세요. 어떻게 발견했고, 원인을 어떻게 특정했으며, "고쳐졌다"는 것을 어떻게 증명했나요?
#leak #memory-graph #deinit
메모리·ARC주관식기초
"순환 참조"와 "메모리 누수"는 같은 말인가요?
#retain-cycle #leak
메모리·ARC주관식심화
객체의 마지막 strong 참조가 사라지는 순간부터 메모리가 실제로 반환되기까지 ARC가 하는 일을 단계별로 설명해 주세요.
#deinit #weak
아키텍처객관식심화
다음 Coordinator 구현에서 로그인 플로우가 끝난 뒤에도 LoginCoordinator가 메모리에 남습니다. 원인으로 가장 알맞은 것은? …
#retain-cycle #weak