Recent Posts
Recent Comments
목록RecyclerView Blinking (1)
에르노트
리사이클러뷰 깜빡임 현상 제거 [setItemViewCacheSize()]
일반적인 속도로 화면을 끌어내릴 때는 거의 그 속도에 맞춰서 onBindViewHolder()가 호출되고, 사용자는 위화감을 느끼지 않는다. 그런데 위 예시처럼 급격하게 스크롤을 꺽어올려버리면 아이템이 다시 바인딩되는 과정에서 다소 딜레이가 발생할 수 있다. 위 경우는 미리 구성된 데이터를 바인딩하는 것이 아니라 api 콜을 통해 비동기적으로 선수 이름을 불러와서 바인딩하는 경우였으므로 그 딜레이를 사용자가 눈으로 느낄 수 있기에 문제가 되었다. 여러가지 시도를 해보았는데 결국 해결법은 매우 간단했다. 아이템의 개수가 정해진 경우라면 그 개수만큼, 혹은 스크롤이 지나갈 충분한 양만큼을 캐시해두면 된다. 그리고 안드로이드 리사이클러뷰에서는 자체적으로 그 메소드를 제공하고 있다. RecyclerView.se..
Dev/Android
2020. 3. 3. 14:40