일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- React Native
- 구조적 정체성
- ssot
- react-native-fast-image
- panorama view
- 리액트 네이티브
- 뷰 생명주기
- react
- requirenativecomponent
- 360도 이미지 뷰어
- Android
- SwiftUI
- launch screen
- completion handler
- data driven construct
- 리액트
- 360도 뷰어
- 네이티브
- ios
- 앱 성능 개선
- 뷰 정체성
- launchscreen
- React-Native
- 라이브러리 없이
- 스켈레톤 통합
- 360도 이미지
- @sendable
- 파노라마 뷰
- native
- 명시적 정체성
- Today
- Total
목록2025/03/23 (2)
Neoself의 기술 블로그

앱에서 이미지를 빠르게 로딩하는 것은 사용자 경험에 중요한 영향을 미칩니다. 특히 자주 방문하는 화면의 내 이미지 로딩 속도는 앱의 전반적인 체감 성능에 직접적으로 연결됩니다. 이번 글에서는 NeoImage 라이브러리에 우선순위 캐시 전략을 도입하여 나의 책장 탭의 이미지 로딩 시간을 단축한 과정을 소개합니다."나의 책장" 탭은 사용자가 보유중인 책의 이미지를 포함하고 있습니다. 이 탭으로 진입할 때마다 메모리 저장소에 캐싱되어있지 않으나, 디스크에 이미지 데이터가 캐싱되어있을 경우, io 작업에 의한 오버헤드가 발생했고, 이는 사용자 경험을 저하시키는 요인이 될 수 있다고 판단했습니다.loaded with NeoImage in 0.01776 seconds loaded with NeoImage in 0...
누적합 방식으로 해당 문제를 접근하고자 했습니다.실제 기둥을 순회할때마다, 순회하였던 이전 기둥보다 높이가 낮으면 무시해야했기 때문입니다.하지만, 이러한 누적합 형태는 가장 높은 기둥이 나올때까지만 반복해야만 합니다. 따라서, 가장 높은 높이의 기둥 위치를 저장한 후, 이를 기준으로 2개의 부분집합으로 나누어 누적합 연산을 각각 수행하였습니다.let num = Int(readLine()!)!var arr = Array()for _ in 0.. 이 과정에서 가장 시간이 오래 걸렸던 부분은 오른쪽에서 왼쪽으로 수행되는 수행되는 누적합 연산의 인덱스 참조였습니다. 특히 stride의 경우, through와 from에 전달되는 값은 실제로 순회되는 값 중 하나이기에 index out of range를 조심해야합..