지난달에 목록 화면 하나 붙잡고 밤을 샜어요. 화면엔 열 몇 줄 보이는데, 매번 4,900개를 통째로 불러오고 있었거든요. 스크롤이 뚝뚝 끊기더라고요. 한 번에 다 부르면 빠를 것 같지만, 첫 화면 한 장 그리려고 필요도 없는 수천 개까지 짊어지는 게 진짜 문제였습니다. 원인 찾고 나서 젯팩 페이징(Jetpack Paging 3)으로 갈아엎었는데, 그 과정을 순서대로 적어봤어요. PagingSource로 경계 정하고, Pager로 흘려보내고, LazyColumn에 붙이고, 로딩 상태 분기까지 갔습니다. 전부 불러오다 멈춘 목록, Android Paging 3가 필요했던 이유수천 개를 한 번에 로드하면 그 데이터가 전부 메모리랑 뷰 트리에 올라갑니다. 프레임이 떨어지고, 최악엔 앱이 그냥 죽어버려요. 화면..