RecycleView在ScrollView中会自动一次性加载所有的条目,有什么好的解决方案
RecycleView在ScrollView中会自动一次性加载所有的条目
这个问题也是无意中发现的,起初在刷新时发现会有少许的卡顿,一直找不到原因,今天因为其他的问题,在log时发现RecycleView
自动把所有的条目一次性加载完了 (正确应该是只加载可见条目,然后在滑动时不断复用),多次尝试后发现是ScrollView
嵌套的问题。
不知道为什么会这样,有发现呢同样问题的朋友吗,有什么好的解决方案?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
你嵌套使用的话,需要计算recyclerview的item高度,所以会一次性全部加载…… 正确的做法是使用recyclerview,加入head或者foot来实现需求。
RecyclerView
只能和NestedScrollView
搭配使用,它和ScrollView
一起使用时会有滚动的问题。另外,在这种使用场景下,RecyclerView
会把所有的ItemView都测量出来,实际效果同将RecyclerView
设置layout_height=“wrap_content”
的情况,这个是和NestedScrollView
测量算法有关的。综上所述,不建议这样搭配使用。可选方案:
RecyclerView
+ HeaderView,较为简单CoordinatorLayout
+RecyclerView
,有坑需要自己填为什么要嵌套?不要使用
ScrollView
嵌套列表你可以试试阿里的vLayout这个框架,或者你也可以使用recyclerview 根据itemType进行布局设置