instruments 3

iOS 히치(hitch)에 대해서 알아보기

Understanding hitches in your app 사용자 인터페이스에서의 중단과 히치(hitch)에 대해 알아보기인간의 인식은 화면에서의 움직임 중단에 매우 민감하며, 화면에서 부드러운 움직임이 짧은 시간 동안 멈추는 경우, 단 몇 밀리초라도 쉽게 눈에 띌 수 있음. 이러한 중단을 히치(hitch)라고 부름히치는 스크롤이나 드래그 같은 지속적인 인터랙션 또는 애니메이션 중에 발생각 히치는 사용자 경험에 영향을 미치므로 앱에서 가능한 한 히치를 최소화하는 것이 중요.히치란?움직임 중단은 화면이 예상한 속도로 업데이트되지 않을 때 발생하며, 프레임이 준비되지 않아 화면이 제때 업데이트되지 않으면 프레임이 지연됨.지연된 프레임은 종종 시스템이 이후 한두 개 이상의 프레임을 건너뛰게 만드는데, 이를 ..

iOS 캐싱 로직 구현 전 디스크 분석

iOS 캐싱 로직 구현 전 디스크 분석 앱에서 서버를 통해 값을 받아온 후 이 값을 캐싱하고 있다가 사용자가 앱을 종료 후에 다시 접속한 경우 캐싱된 값을 먼저 보여준 후 네트워크 응답이 도착하면 갱신하는 형태로 구현하고자 함. UserDefaults, SwiftData, CoreData, Realm, Filemanager 중에서 어떤걸 선택하는 것이 좋은지 궁금해서 비교해보기로 함.UserDefaults: 간단한 데이터 저장에 유용해 적합하지 않을 것으로 보임.SwiftData: iOS 17이상이라서 현재 현실적으로 사용하기가 어려움.CoreData: Realm이 있어서 굳이 써야하는지 의문이긴 함.Filemanager: 자주 변경되는 데이터라서 성능적으로 적합하지 않을 것 같음.Realm: 12.2..

Lottie 리소스 문제로 앱이 초기화되는 현상

Lottie 리소스 문제로 앱이 초기화되는 현상 웹 앱이었는데 간단한 동작에서 크래시 발생결론: 로티 리소스 자체의 문제 개발활경Xcode 13.2.1  문제상황1. 특정 상황에서 메모리가 비정상적으로 튐.2. 스크롤을 하다가 앱이 죽거나 앱이 흰 화면이 뜨면서 초기화가 되어버림.  접근법RxSwift 기반으로 되어 있어서 어느 지점에서 메모리릭이 나는게아닐까 접근 Xcode Instruments 시도1. Edit Scheme > Profile에 들어가서 build configuration을 debug로 세팅상단에 Xcode simulator 설정하는거 옆에 위치2. 아래 사진처럼 저 부분을 꾹!! 누르고 있으면 저렇게 뜨는데 저거 Build for Profiling으로 변경 3. 아래와 같은 Instr..