18.06.23 16:06 작성
·
317
0
<리사이클러뷰를 2차로 구현한 동영상>
https://drive.google.com/file/d/1rCjv-AFijJIFUBohywuwmO5tfrnYDHgT/view?usp=sharing
이유는 간단합니다 ㅎㅎ; 위에 영상에서 보는것처럼 리스트뷰에 아이템이 많다고(1500개이상) 된다고 치면
로딩될때까지 아무것도 안나옵니다; 그리고 화면에 모두 그려지는 것이기 때문에... 리소스도 엄청 먹는것 같구요;; 버벅거리고;;; ㅎㅎㅎ;
그냥 일반적인 리사이클뷰에서는 아이템이 몇개만 나와서 자원을 재활용을 하기 때문에 로딩이 빠르게 되지만(1초)…
<일반적리사이클뷰 작동영상>
https://drive.google.com/file/d/1qriwZnZgBPlH4FEAzhHtU6UJ-fcJPXP_/view?usp=sharing
메인 리사이클뷰 안에 리사이클뷰를 넣으니까..
앱 실행과 동시에 메인 라사이클뷰의 첫번째 아이템에 리사이클뷰가 바로 로딩이 되어서
한꺼번에 데이터가 1500개가 뜨게 되서… 로딩시간이 10초이상 걸려 버리더라구요^^; ㅎㅎㅎ;;;;
동영상으로 0초로 해놓고 보시면 메인어뎁터의 뷰홀더 동작을 0,1,2,3을 먼저 하고
그리고나서 서브 어뎁터의 첫번재 보여지는 item의 리사이클러뷰의 온바인드뷰홀더값이 로딩이 되는데…
이때… 다 불러옵니다 ㅎㅎㅎㅎ;;;;ㅠㅠㅠ
그래서… 로딩이 엄청 늦게 되요 ㅠㅠㅠ;;ㅎㅎㅎ;;
만들려고하는게… 쿠팡이나 티몬처럼 쇼핑몰앱들 처음 페이지처럼
밑으로 주르륵 내리는 레이아웃을 할려고하는거 목적이거든요…;;
거기도 recycler안에 recycler로 구현을 한것이라면…
메인 recycler안에 item을 불렀을때 recycler동작을 할것 같은데….
참고로 제가 이용한 소스는 아래입니다.(자바로 되있는데.. 저는 이걸 코틀린으로 바꿔서 작업했습니다.;;)
https://github.com/delaroy/Heterogeneous
단순히 viewpager넣고 recycler뷰 넣고 다시 viewpager넣고 recycler뷰넣고 scrollview로 감사기만 하면 될줄 알았던 작업이…
이렇게 복잡해질줄 몰랐네요 ㅠㅠ;;
다른분들것도 검색을 해봤는데..하울님이 말씀해주신것처럼 하는게 맞는것 같은데..
제가 뭘 잘못한걸까요?
<또 다른 참고 URL>
http://cafe.daum.net/superdroid/aAgV/726?q=recyclerview%20레이아웃&re=1
답변 1
0
2018. 06. 25. 12:23
흠... 아마 제가 추측하기로는 RecyclerView.ViewHolder 부분이 뷰를 재활용 해주는 부분인데 Recylcerview Horizontal 전용 RecyclerView.ViewHolder가 없어서 이미 다 불러오는 것 같습니다. 일단 RecyclerView.ViewHolder부분을 최대한 제대로 사용했는지 살펴보면 좋을 뜻 합니다.