혹시 다들 Xcode Instruments에 대해 알고 계신가요?
요 친구인데, Xcode에서 제공하는 앱의 성능 분석 및 디버깅 도구임.
앱 개발자라면 메모리 릭이 나지 않는 앱을 개발해야 하므로, 메모리 릭에 대한 분석을 할 때
이 친구를 활용하면 좋음.
코드를 실행하면 스택에 쌓이면서 코드를 수행하게 되며, 이를 콜 스택이라 부름
이 스택을 뒤돌아보며 코드가 수행된 기록을 훑어보는 것은 스택 트레이스임.
아니, 그래서
Xcode Instruments 사용은 언제하는건데?
앱의 사이즈가 커지고, 프로젝트에 작성한 코드량이 많아질수록, 메모리 릭이 발생하는 곳을
파악하기 어려울 수 있음
물론, 가능하다면 직접 살펴보는 것이 좋겠지만 도구가 있는데 써먹어야지!
한번 사용법을 같이 공부해 보자고요!
먼저, 써먹기 위해서는 메모리 누수가 나는 상황을 만들어야겠지?
자자 어때, 코드만 봐도 어지럽지?
예전 우리는 메모리 누수가 나는 상황은 순환 참조가 나는 상황이라고 배웠으므로
Class A와 B가 서로를 순환 참조하도록 설정해 봤음
자, 이제 상황이 만들어졌으니 한 번 직접 보자고
커맨드 + i 눌러서
요 창을 띄운 다음, Leaks을 골라주자
그럼 요런 창이 나올 거고,
버튼을 눌렀을 때부터 사진처럼 빨간색 X표시 가 생성됨.
그리고 아래 탭을 보면 Call Tree라는 것이 있는데, 클릭하고 하단에서
요 친구들을 체크해 주면 콜 스택을 쉽게 확인할 수 있음
콜스택 아래서부터 순서대로 읽어보면,
AppDelegate에서 앱 시작 -> 뷰컨.buttonTapped 실행 -> ClassA에서 메모리릭 발생
확인이 가능해서, Reveal in Xcode 클릭하면
Xcode상에서 메모리 릭이 발생한 부분으로 이동이 가능!
오늘 알아볼 것은 여기까지!
다음에 봐요~
'Swift' 카테고리의 다른 글
NScash와 Dictionary의 차이 (0) | 2024.08.29 |
---|---|
Swift RxSwift (0) | 2024.08.01 |
다시 한 번 돌아보는 제네릭 (0) | 2024.07.30 |
Swift MVVM (0) | 2024.07.19 |
Swift 싱글톤 패턴 (0) | 2024.07.14 |