RecyclerView에서 ViewPager의 setOffscreenPageLimit()함수처럼 아이템들을 메모리에 계속 가지고 있을수 있는 방법이 없을까요?
조회수 1811회
증권용 앱을 만드는 중인데 RecyclerView의 item들을 candle(봉)로 잡고 line graph를 그리는 중입니다.
한가지 문제가 있다면 이 그래프를 스크롤 하면 RecyclerView의 item들이 지워지면서 line graph를 이어갈 값들이 사라지는데요 .
동영상파일이 업로드가 안되네요..
라인그래프가 이어지면서 스크롤 되다가 아이템이사라지는 구간에서( | ) 아이템의 x좌표를 구할수가 없어서 사라집니다.
RecyclerView에서 혹시 ViewPager의 setOffscreenPageLimit(int)함수처럼 강제로 아이템을 로드한다던지 그런 메소드가 있나요?
아니면 다른 해결방법이 있을까요?
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
RecyclerView는 내부적으로 View를 캐시하도록 되어 있습니다. 캐시 사이즈는 setItemViewCacheSize() 함수를 통해서 조절할 수 있습니다. (디폴트 캐시 사이즈는 2) 캐시 사이즈를 조절하면 View가 리사이클 되는 것을 제어할 수 있습니다. 다만 저도 이걸 직접 제어해 본적은 없어서 좋은 방법인지는 확신이 없습니다.
RecyclerView 내부 동작을 잘 요약해 둔 글인데 참고하면 도움이 될 것 같습니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력