| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 상태관리
- apk 빌드 과정
- NestedScrollView
- 데코레이터 패턴
- Dispatchers
- 자이고트
- 물리 메모리
- Android
- appcompatacitivity
- 운영체제
- 디자인 패턴
- GetX
- AAC
- 플로이드워셜
- appcompatactivity
- DiffUtil
- recyclerview
- 리사이클러뷰풀
- 뷰홀더
- 프로세스
- 리사이클러뷰
- 내부 단편화
- viewModelScope
- 안드로이드
- flutter
- 절대 주소
- AsyncListDiffer
- http발전과정
- http 역사
- Kotlin
- Today
- Total
목록2023/05 (3)
hong's android
플러터로 앱을 개발하기 전 학습했던 내용들에 대해 공유해보고자 합니다. Flutter? Flutter가 iOS와 Android와 같은 서로 다른 운영 체제(OS)에서 동일한 코드를 재사용하여 앱을 개발할 수 있도록 설계된 “UI 툴킷”이다. 공식문서에선 “UI 툴킷”이라는 표현을 사용했다. UI툴킷은 사용자 인터페이스(UI)를 설계하고 렌더링 하는 데 필요한 도구와 라이브러리의 집합이다. 그러므로 플러터는 좀 더 UI를 설계하고 개발하는데 초점을 맞춘 프레임워크라는 생각이 든다. 쉽게 말하면, Flutter는 화면을 어떻게 그릴지, 그리고 UI를 어떻게 더 효율적으로 관리할지를 고민하는 데 최적화된 프레임워크라고 볼 수 있을 것 같다. 그래서 OS와 관련된 기능들은 플러그인을 사용하거나, 네이티브 코..
프로젝트의 홈 화면 입니다. 리사이클러뷰들이 모두 같은 뷰 타입의 아이템들을 가지고 있습니다.문제현재 홈 화면의 리사이클러뷰들은 같은 뷰 타입의 아이템을 가지고 있지만 각각 뷰풀을 소유하고 있습니다. 이 때문에 스크롤을 내릴수록 뷰를 재사용 하지않고 새로운 뷰를 인플레이트를 하게 됩니다.리사이클러뷰는 인플레이트를 통해 뷰를 생성하는데 이때 메인 스레드를 사용합니다. 만약 다른 애니메이션, 하단에 시리즈 아이템들이 많이 모여있는 카테고리들이 추가된다면 렌더링을 담당하는 메인 스레드에 비교적 많은 부담을 주게 됩니다.이는 스크롤 버벅거림이나 사용자 경험에 직접적인 연결이 되어있는 부분이기에 개선하고자 했습니다.리사이클러뷰 원리출처 : Microsoft1.저장리사이클러뷰는 스크롤을 할 때 캐시에 뷰(Scrap..
문제앱을 실행할 때마다 홈 화면의 모든 시리즈 데이터들을 매번 서버에 요청해야 하므로 로딩 시간이 소요됩니다. 그리고 모든 시리즈 데이터들에 썸네일 URL 추가하는 데이터 가공 작업을 매번 거쳐야 했습니다.이러한 과정들로 인해 로딩 시간이 길어진다면 이는 사용성에 불편함을 준다고 생각해 해당 문제를 개선하고자 했습니다.해결💡 어떻게 로딩 시간을 줄여야할까?가공이 완료된 데이터들은 로컬에 캐시하고 이후엔 새롭게 추가된 데이터들만 서버에게 요청합니다. 그 후 해당 데이터들만 가공하고 로컬에 추가하는 것이 매번 불필요하게 반복되는 작업을 피하기 때문에 효율적이라고 생각했습니다.첫 로딩 시 로컬에 데이터가 없을경우 시리즈 데이터들을 전부 초기화해주는 로직을 실행하고, 만약 로컬에 데이터가 존재할 경우 로딩이 ..