在 Android RecyclerView 中显示大型数据集的策略

问题描述

RecyclerView 的实现通常有以下方法:

  • 创建 RecyclerAdapter 保存数据集或对它的引用,例如列表
  • 将适配器和 LayoutManager 附加到 RecyclerView
  • 在适配器上调用 setItems(或等效项)以刷新内容
  • 可选添加分页+无限滚动,以便能够一次逐渐加载更多内容小缝隙

这利用了 RecyclerView 和 ViewHolder 的强大功能来高效地显示庞大的数据集。但是,它并没有解决将数据集存储在内存中的问题,这正是我的问题所在。

想象一下,我的数据集中有 100 万个项目,并且实现了分页 + 无限滚动。如果我在最后一页,为了让 RecyclerView 能够显示项目,我们必须将所有 100 万个项目存储在适配器的列表中,并使用该列表和相关的 RecyclerAdapter 方法。

有没有更有效的方法来做到这一点?我最初的想法是采用某种基于滑动窗口的方法,我们将在内存中保留固定数量的页面,并有一个双向无限滚动实现,其中下一页/上一页窗口随着滚动“视口”的变化而更新当用户滚动时。不确定这是否会影响滚动性能...

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)