RecycleView在ScrollView中会自动一次性加载所有的条目
这个问题也是无意中发现的,起初在刷新时发现会有少许的卡顿,一直找不到原因,今天因为其他的问题,在log时发现RecycleView
自动把所有的条目一次性加载完了 (正确应该是只加载可见条目,然后在滑动时不断复用),多次尝试后发现是ScrollView
嵌套的问题。
不知道为什么会这样,有发现呢同样问题的朋友吗,有什么好的解决方案?
这个问题也是无意中发现的,起初在刷新时发现会有少许的卡顿,一直找不到原因,今天因为其他的问题,在log时发现RecycleView
自动把所有的条目一次性加载完了 (正确应该是只加载可见条目,然后在滑动时不断复用),多次尝试后发现是ScrollView
嵌套的问题。
不知道为什么会这样,有发现呢同样问题的朋友吗,有什么好的解决方案?
RecyclerView
只能和NestedScrollView
搭配使用,它和ScrollView
一起使用时会有滚动的问题。另外,在这种使用场景下,RecyclerView
会把所有的ItemView都测量出来,实际效果同将RecyclerView
设置layout_height=“wrap_content”
的情况,这个是和NestedScrollView
测量算法有关的。
综上所述,不建议这样搭配使用。可选方案:
RecyclerView
+ HeaderView,较为简单
CoordinatorLayout
+ RecyclerView
,有坑需要自己填
3 回答874 阅读✓ 已解决
2 回答2.1k 阅读
2 回答982 阅读✓ 已解决
1 回答766 阅读✓ 已解决
2 回答880 阅读
2 回答818 阅读
1 回答757 阅读
你嵌套使用的话,需要计算recyclerview的item高度,所以会一次性全部加载…… 正确的做法是使用recyclerview,加入head或者foot来实现需求。