RecyclerView 4

[번역] RecyclerView를 Wrapping했을 때 퍼포먼스 이슈 - feat.NestedScrollView

Bartek Lipinski의 Medium 게시물 https://medium.com/android-news/android-dev-tip-4-91b7757b1f0a Android Dev Tip #4 The performance of wrapping content in RecyclerView medium.com 을 번역한 내용입니다. 오타 또는 오역이 있다면 댓글로 남겨주시면 수정하겠습니다. [Tip] When RecyclerView is wrapping its content, it’s not recycling anymore. Every record in the dataset has an item View kept in memory for as long as the RecyclerView is in the ..

Programming/Android 2022.03.04

Recyclerview에서 ListAdapter 의 변경사항이 실시간으로 업데이트 되지 않던 이슈

지난 글에서 ListAdapter를 포스팅하며 DiffUtil에서 새로운 아이탬을 구별하거나, 아이탬의 내용이 같은지 구분하는 것을 설명한 적이 있다 해당 링크 : https://yk-coding-letter.tistory.com/8 문제 상황 그런데 최근, 개발을 하던 중 Room에서 변경사항을 recyclerview에 실시간으로 업데이트하려고 했으나 잘 작동하지 않았던 이슈가 있었다. 분명히 areItemsTheSame() 과 areContentsTheSame()을 제대로 작성했음에도 ui로 드러나지 않았고, 앱을 껐다 키거나 스크롤을 내렸다가 다시 돌아왔을 때야 비로소 변경되었다. 어떻게 이런 일이 발생할 수 있는 것인지 생각해보았다. 우선 나는 정확히는 Paging3의 recyclerview를 사..

Programming/Android 2021.11.24

[Android] ViewPager2 + BottomNavigation 으로 Fragment 관리하기

Jetpack에서 나온 BottomNavigation은 Fragment 전환을 쉽게 도와준다. 지금까지 내가 쓰던 방식은 전환될 Fragment를 xml파일에서 를 썼었는데 바텀네비게이션을 클릭할 때마다 fragment를 재생성하는 단점이 있었다. Fragment을 가진 Activity에서 재생성 안하도록 제어하는 방법을 찾다가 ViewPager2를 알게 되었고, 이 문제를 쉽고 명료하게 해결해주었다. 우선 ViewPager의 dependency를 추가해야 한다. implementation "androidx.viewpager2:viewpager2:1.0.0" 1. BottomNavigation에 사용될 menu를 정의한다. 2. activity의 layout을 정의한다. ViewPager2와 Bottom..

Programming/Android 2021.05.16

[Android] Recyclerview에 ListAdapter사용하기

지금까지 내가 안드로이드에서 리스트뷰를 구현했던 학습 과정은 아래의 순서였다. 기본 ListView Custom ListView RecyclerView DataBinding한 RecyclerView 이제 다음 단계는 ListAdapter를 이용한 RecyclerView 구현이다. 위의 4번을 베이스로 ListAdapter를 활용하는 것을 적어보겠다. 위의 2번과 3번의 차이가 Item 내에 view에 데이터를 bind할 때 ViewHoloder패턴의 강제 적용 유무였다면, ListAdapter를 사용한 RecyclerView는 Item 업데이트가 있을 때 이를 변경된 부분만 자동으로 탐지해서 notify 해준다. ListAdapter에서는 List를 저장하는 자료구조를 따로 만들지 않아도 된다. 어댑터 ..

Programming/Android 2021.04.29