RecycleView在ScrollView中会自动一次性加载所有的条目,有什么好的解决方案

发布于 2022-09-05 05:03:58 字数 268 浏览 26 评论 0

RecycleView在ScrollView中会自动一次性加载所有的条目

这个问题也是无意中发现的,起初在刷新时发现会有少许的卡顿,一直找不到原因,今天因为其他的问题,在log时发现RecycleView 自动把所有的条目一次性加载完了 (正确应该是只加载可见条目,然后在滑动时不断复用),多次尝试后发现是ScrollView嵌套的问题。
不知道为什么会这样,有发现呢同样问题的朋友吗,有什么好的解决方案?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

如梦 2022-09-12 05:03:58

你嵌套使用的话,需要计算recyclerview的item高度,所以会一次性全部加载…… 正确的做法是使用recyclerview,加入head或者foot来实现需求。

刘备忘录 2022-09-12 05:03:58

RecyclerView只能和NestedScrollView搭配使用,它和ScrollView一起使用时会有滚动的问题。另外,在这种使用场景下,RecyclerView会把所有的ItemView都测量出来,实际效果同将RecyclerView设置layout_height=“wrap_content”的情况,这个是和NestedScrollView测量算法有关的。

综上所述,不建议这样搭配使用。可选方案:

  1. RecyclerView + HeaderView,较为简单

  2. CoordinatorLayout + RecyclerView,有坑需要自己填

太阳男子 2022-09-12 05:03:58

为什么要嵌套?不要使用ScrollView嵌套列表

独自←快乐 2022-09-12 05:03:58

你可以试试阿里的vLayout这个框架,或者你也可以使用recyclerview 根据itemType进行布局设置

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文