일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- tableView
- 클린 코드
- uitableview
- ribs
- Protocol
- swift documentation
- RxCocoa
- Clean Code
- 리펙토링
- UITextView
- uiscrollview
- Observable
- Refactoring
- combine
- SWIFT
- 애니메이션
- swiftUI
- Human interface guide
- MVVM
- 스위프트
- HIG
- UICollectionView
- clean architecture
- Xcode
- collectionview
- 리펙터링
- rxswift
- ios
- map
- 리팩토링
- Today
- Total
목록Memory profiling (4)
김종권의 iOS 앱 개발 알아가기
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cohTvW/btsCJkOJgjP/k0PA31Xjue4MKJGSz9kGD1/img.png)
1. 메모리 프로파일링 - VM Tracker 사용 방법 (#Instrument) 2. 메모리 프로파일링 - VM Tracker을 사용하여 메모리 프로파일링하기 (resident size, dirty size, swapped size, virtual size) VM Tracker에서 메모리 살펴보기 resident, dirty, swapped, virutal을 확인하여 메모리 상태 확인이 가능 resident size: 실제로 RAM에 올라와서 현재 사용되고 있는 데이터의 크기 dirty size: RAM에 올라온 것 중에 데이터의 변경이 일어나서, page out될 수 없는 페이지의 크기 swapped: RAM disk 페이지 변경된 크기 (자세한 residen size, dirty size, swap..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/vrTPJ/btsCDe0qCWx/KsKs1YkNfWXTSRZZgMdFJ1/img.png)
* 가장 기초) iOS 메모리 기초 개념 - virtual memory, dirty memory, clean memory, compressed memory, swapped memory 이해하기 포스팅 글 1. memgraph 메모리 프로파일링 - 샘플 준비 2. memgraph 메모리 프로파일링 - vmmap을 사용하여 문제가 있는 코드의 메모리 주소 찾아내기 3. memgraph 메모리 프로파일링 - 메모리 주소로 코드 역추적하기 (malloc_history , Malloc Stack Logging) malloc_history로 코드 역추적하기 malloc_history를 사용하면 참조 타입 인스턴스들이 할당된 코드를 역추적이 가능 단, memgraph를 얻어올때 Xcode에서 "Malloc Stack..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ArcEb/btsCw9tluDR/GwbP7qePoKNKIY828xpZ41/img.png)
* 가장 기초) iOS 메모리 기초 개념 - virtual memory, dirty memory, clean memory, compressed memory, swapped memory 이해하기 포스팅 글 1. memgraph 메모리 프로파일링 - 샘플 준비 2. memgraph 메모리 프로파일링 - vmmap을 사용하여 문제가 있는 코드의 메모리 주소 찾아내기 3. memgraph 메모리 프로파일링 - 메모리 주소로 코드 역추적하기 vmmap으로 memgraph파일 분석 .mamgraph 파일은 이전 포스팅 글 참고 분석 목적: 큰 메모리를 잡아먹는 곳의 메모리를 분석하여 역으로 어떤 코드 부분인지 파악하는 것 vmmap --summary ExImageOptimazationBackground\[23907..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cmOvci/btsB7glWdl7/o2sxfE1w1AD5r1JKdgKUkK/img.gif)
* iOS 메모리 기초 개념은 Memory Deep Dive 포스팅 글 참고 기본 지식) 이미지의 중요한 요소 - 해상도 이미지를 다룰때 중요한 것은 파일의 크기(volume)가 아닌 이미지의 크기(resolution)이라는 점을 알 것 이미지를 구성하고 있는 pixcel관점에서, 1pixel을 이룰 때 RGB요소에 의해 각 1byte씩 3개가 필요하므로 3byte가 필요 여기에다 alpha 채널까지 합하면 1pixel당 4byte가 필요 만약 크기가 2048px * 1536px 의 이미지 파일 크기가 590KB가 디스크에 있을 때, 이 파일을 뷰에 표현할때는 약 10mb가 필요 (2048px * 1536px * 4byte) UIImage 관리 - 이미지를 메모리에 잡고 있지 말 것 UIImage는 위에..