RecyclerView에서 ViewPager의 setOffscreenPageLimit()함수처럼 아이템들을 메모리에 계속 가지고 있을수 있는 방법이 없을까요?


증권용 앱을 만드는 중인데 RecyclerView의 item들을 candle(봉)로 잡고 line graph를 그리는 중입니다.

한가지 문제가 있다면 이 그래프를 스크롤 하면 RecyclerView의 item들이 지워지면서 line graph를 이어갈 값들이 사라지는데요 .

동영상파일이 업로드가 안되네요..

라인그래프가 이어지면서 스크롤 되다가 아이템이사라지는 구간에서( | ) 아이템의 x좌표를 구할수가 없어서 사라집니다.

RecyclerView에서 혹시 ViewPager의 setOffscreenPageLimit(int)함수처럼 강제로 아이템을 로드한다던지 그런 메소드가 있나요?

아니면 다른 해결방법이 있을까요?

  • 2016년 07월 20일에 작성됨

조회수 213


1 답변


RecyclerView는 내부적으로 View를 캐시하도록 되어 있습니다. 캐시 사이즈는 setItemViewCacheSize() 함수를 통해서 조절할 수 있습니다. (디폴트 캐시 사이즈는 2) 캐시 사이즈를 조절하면 View가 리사이클 되는 것을 제어할 수 있습니다. 다만 저도 이걸 직접 제어해 본적은 없어서 좋은 방법인지는 확신이 없습니다.

RecyclerView 내부 동작을 잘 요약해 둔 글인데 참고하면 도움이 될 것 같습니다.


  • 감사합니다. View가 화면을 넘어가면서 리사이클 되는건 적용이 안되네요    이엄지   2016.7.21 13:08     

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close