일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- flutter
- viewModelScope
- AsyncListDiffer
- 상태관리
- 플로이드워셜
- 디자인 패턴
- 리사이클러뷰풀
- appcompatactivity
- 뷰홀더
- GetX
- AAC
- 내부 단편화
- recyclerview
- 리사이클러뷰
- DiffUtil
- 안드로이드
- Android
- http발전과정
- 자이고트
- Dispatchers
- 물리 메모리
- appcompatacitivity
- 프로세스
- apk 빌드 과정
- http 역사
- 데코레이터 패턴
- Kotlin
- NestedScrollView
- 절대 주소
- 운영체제
- Today
- Total
목록Projects/TroubleShooting (2)
hong's android

프로젝트의 홈 화면 입니다. 리사이클러뷰들이 모두 같은 뷰 타입의 아이템들을 가지고 있습니다.문제현재 홈 화면의 리사이클러뷰들은 같은 뷰 타입의 아이템을 가지고 있지만 각각 뷰풀을 소유하고 있습니다. 이 때문에 스크롤을 내릴수록 뷰를 재사용 하지않고 새로운 뷰를 인플레이트를 하게 됩니다.리사이클러뷰는 인플레이트를 통해 뷰를 생성하는데 이때 메인 스레드를 사용합니다. 만약 다른 애니메이션, 하단에 시리즈 아이템들이 많이 모여있는 카테고리들이 추가된다면 렌더링을 담당하는 메인 스레드에 비교적 많은 부담을 주게 됩니다.이는 스크롤 버벅거림이나 사용자 경험에 직접적인 연결이 되어있는 부분이기에 개선하고자 했습니다.리사이클러뷰 원리출처 : Microsoft1.저장리사이클러뷰는 스크롤을 할 때 캐시에 뷰(Scrap..

문제앱을 실행할 때마다 홈 화면의 모든 시리즈 데이터들을 매번 서버에 요청해야 하므로 로딩 시간이 소요됩니다. 그리고 모든 시리즈 데이터들에 썸네일 URL 추가하는 데이터 가공 작업을 매번 거쳐야 했습니다.이러한 과정들로 인해 로딩 시간이 길어진다면 이는 사용성에 불편함을 준다고 생각해 해당 문제를 개선하고자 했습니다.해결💡 어떻게 로딩 시간을 줄여야할까?가공이 완료된 데이터들은 로컬에 캐시하고 이후엔 새롭게 추가된 데이터들만 서버에게 요청합니다. 그 후 해당 데이터들만 가공하고 로컬에 추가하는 것이 매번 불필요하게 반복되는 작업을 피하기 때문에 효율적이라고 생각했습니다.첫 로딩 시 로컬에 데이터가 없을경우 시리즈 데이터들을 전부 초기화해주는 로직을 실행하고, 만약 로컬에 데이터가 존재할 경우 로딩이 ..