이미지 압축 최적화 - BitmapFactory에서 ImageDecoder로
·
Android/Jetpack
Spoony 프로젝트를 진행하며 게시글 작성 기능을 개발하던 중 저사양 기기에서 고해상도 이미지를 업로드할 때 심각한 성능 저하를 경험했습니다.단순히 이미지가 늦게 뜨는 수준을 넘어 여러 장의 이미지를 선택하면 앱이 버벅거리다 OOM으로 강제 종료되는 현상까지 발생했습니다. 맛집을 공유하는 서비스에서 사진 업로드는 중요 기능이기에 무조건 해결해야 하는 문제였습니다🥲기존의 BitmapFactory와 단순 압축 로직이 가진 한계를 분석하고 이를 ImageDecoder와 이진 탐색 알고리즘으로 개선하여 성능과 안정성을 모두 확보한 과정을 상세히 공유합니다. (해당 작업 PR입니다) [REF/#198] ContentUriRequest Class의 이미지 압축 방식을 개선합니다. by angryPodo · Pu..
[Android Jetpack] Paging3와 LazyVerticalGrid의 페이지 요청 최적화 방법
·
Android/Jetpack
안녕하세요! Android 개발자 한민재입니다. 이번에는 과제전형을 진행하면서 Paging3와 Compose의 LazyVerticalGrid를 함께 사용하면서 발견한 정말 사소한 문제와 해결 과정을 공유하려고 해요.🤔 어떤 문제가 있었나요?과제에서는 Picsum API를 사용해서 자유롭게 뷰를 구현하는 것이 목표였어요. API에 페이징이 있는 것을 발견하고 Paging3를 적용한 이미지 그리드를 구현하던 중, 앱 초기 실행 시 의도치 않게 많은 페이지가 한 번에 요청되는 현상이 발생했어요.문제가 있던 코드예요@Composablefun PhotoGrid( photosPagingData: LazyPagingItems, gridState: LazyGridState, modifier: Modi..