일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Performance
- 접근성제어
- firebase
- withAnimation
- gesture
- CS
- view
- avsession
- stateobject
- UIKit
- Network
- WWDC
- arkit
- ios
- dataflow
- RxSwift
- Animation
- GCD
- combine
- authentication
- auth
- 달력
- toolbarvisibility
- iphone
- Concurrency
- 최적화
- 네트워크
- state
- SwiftUI
- swift
- Today
- Total
목록Performance (2)
XLOG

작년 애플아카데미에서 프로젝트를 진행하면서 MVC, MVVM 아키텍쳐를 채택하고 자연스럽게 Model을 만들었다. Model을 만들었을 때 모델은 클래스로 하느냐, 구조체로 하느냐에 대한 논의를 많이 했었다. 그 당시 구조체는 값, 클래스는 참조 이렇게 단순하게만 생각했다. 그래서 당시 멘토 비비에게 물어봤더니 WWDC16 의 Understanding Swift Performance 를 추천해줬었다. 영상에서 처음 Struct 와 Class 가 메모리에 어떻게 할당하는지를 보여준다. Struct => Stack Class => Heap Stack 메모리는 push 와 pop 으로 동작하는 심플한 구조로 포인터는 맨 마지막을 가르키며 간단하게 동작을 한다. 하지만 힙은...? 사용되지 않는 메모리 공간을 ..

프로젝트를 진행하면서 UICollectionView 와 Image를 함께 사용할 일이 많았다. Asset을 이용하여 사용할 때는 큰 문제가 없었지만, 서버에서 이미지를 불러오면서 그 효율성에 대한 고민을 하기 시작했다. 그리기 위해 UIImage, UiImageView 가 어떻게 동작하는지 알아야 겠다는 생각을 했다. 그래서 WWDC18 에 Image and Graphics Best Practice 영상을 확인했다. 보통 이미지는 우리 데이터공간, 혹은 네트워크를 통해 다운받아 UIImage로 Load 하여 Decode 한다. Decode를 하는 과정에서 image사이즈에 따라 image buffer의 크기가 결정된다. Buffer 란 연속되 메모리 영역이다. Buffer엔 Data Buffer, Ima..