| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Clean Code
- tableView
- 리팩토링
- SWIFT
- RxCocoa
- swiftUI
- MVVM
- Protocol
- ios
- Refactoring
- uitableview
- 스위프트
- HIG
- UITextView
- collectionview
- Observable
- UICollectionView
- combine
- swift documentation
- clean architecture
- 클린 코드
- 리펙토링
- ribs
- map
- Xcode
- Human interface guide
- 애니메이션
- uiscrollview
- rxswift
- scrollview
- Today
- Total
목록Instrument (5)
김종권의 iOS 앱 개발 알아가기
.trace 파일Instruments를 통해 나오는 .trace 파일은 자주쓰는 xctrace export 옵션--listtrace 파일 내부에 어떤 데이터들이 들어있는지 전체 목록을 보여줌 (schema 이름들을 확인이 가능)xctrace export --input test1.trace --list예)time-samplesignpostprocessthread-statesystem-callsmemorycall-tree --tocTrace Table of Contents(Toc)를 XML로 바로 출력xctrace export --input test1.trace --toc 이걸 보면 전체 구조를 한눈에 확인 가능 --xpath특정 부분만 필터링하기 위한 고급 옵션ex) signpost 데이터만 추출: --x..
Time Profiler Xcode > Cmd + I로 Instrument 실행 > Time Profiler 선택창이 뜨면 Record 버튼을 눌러서 앱을 실행중지 버튼을 눌러서 분석 중지그래프를 보면 삐쭉 튀어나와있는 부분에 커서를 대면 시간이 얼마나 걸렸는지 알 수 있음그 부분을 왼쪽마우스로 클릭하고 아래 로그를 보면 어떤 부분에서 시간이 걸렸는지 확인이 가능더 구체적으로 확인 방법위에 까지 알아본 방법은 대충 어떤 함수가 많이 걸리는지 알려주는데 더욱 구체적인 back trace를 보고싶은 경우는 아래처럼 처리가 필요Samples를 클릭Profile 클릭하단 로그를 보면 아래처럼 누적값으로 Weight가 표시되는데 가장 큰 weight가 증가한 start부분을 펼치기option + 왼쪽마우스 클릭하..
SwiftUI 프로파일링Instrument > SwiftUI 선택하고 프로파일 수행먼저 SwiftUI 로 되어있는 꺽쇠를 클릭 > View Body Updates > 영역을 드래그하여 지정한 후 해당 영역 set Inspection Range And Zooms 클릭 > Time Profiler 클릭 이전 포스팅 글 참고: https://ios-development.tistory.com/1812Time Profiler는 정기적으로 샘플을 추출하여 현재 실행중인 함수에 대한 분석을 시도뒤에서 나올 예제는 body가 실행되는 동안 프로파일링WWDC 영상처럼 호출 스택이 여러가지가 표출됨이 중에서 살펴볼 것은 LandmarkListItemView이므로 command + F를 하여 검색왼쪽을 보면 각 call s..
1. 메모리 프로파일링 - VM Tracker 사용 방법 (#Instrument) 2. 메모리 프로파일링 - VM Tracker을 사용하여 메모리 프로파일링하기 (resident size, dirty size, swapped size, virtual size VM Tracker란? Virutal Memory Tracker라는 의미로, XCode에서 Instrument 중 메모리 할당에 관한 프로파일링 기법 중 하나 VM Tracker를 이용하면 resident size, dirty size, swapped size, virtual size를 분석 할 수 있는데, 이렇게 각 size별로 볼 수 있어서 더욱 디테일하게 메모리 프로파일링이 가능 residen size, dirty size, swapped si..
1. UI 성능 분석 - Render Loop 이해하기 (Commit, Layout, Display, Prepare, Commit) 2. UI 성능 분석 - Instrument의 Animation Hitches 사용하여 UI 성능 개선하기 이번 글에서는 Commit hitch를 잡는 내용 Commit 개념 (복습) commit 한다는 의미? 사용자가 버튼을 탭 > 뷰 UI 내부적으로 계산하여 업데이트 > 업데이트된 layer tree를 GPU에게 제출하는 행위 Commit Hitch란? Commit 단계가 지연되어 이전 프레임을 보여주어 끊기는 듯한 현상 발생 Commit Transaction의 4가지 단계 Layout 레이아웃 변경 단계 변경이 필요한 subview들의 레이아웃이 layoutSubvie..