【问题标题】:Efficient DB calls to update recycler view高效的数据库调用来更新回收器视图
【发布时间】:2019-02-10 17:17:26
【问题描述】:

我有一个 MYSQL 数据库来保存我的数据。它由各种文本和每行的几个图像 URL 组成。我将这些行中的每一行加载到 RecyclerView 上。

我对如何有效地做到这一点感到困惑。假设我有一百万行,一次获取它们将是疯狂的。它不像用户可以一次看到所有数据。

但如果我说一次获取 10 行,保留最后一行的计数并在滚动后通过另一个 dB 调用获取接下来的 10 行,我也觉得这很疯狂。如此多的 dB 调用,对于多用户来说会变得更糟。

同时这个 dB 正在更新。这意味着我实际上不能使用对最后一行进行计数的方法,因为这意味着我错过了最新插入到 dB 中的数据。

这里通常的解决方案是什么?这似乎是一种常见的情况,例如 twitter 和 instagram 如何处理其滚动更新,但我很难在网上找到参考资料。

我正在尝试解决这个问题,而不必切换到 nosql 数据库。感谢任何建议。谢谢。

【问题讨论】:

  • 你在使用 ViewHolder 方法吗?
  • @ManzurulHoqueRumi 是的,我正在使用 ViewHolder 方法。

标签: android mysql


【解决方案1】:

您可以将分页与 RecyclerView 一起使用

这里有一些很好的资源

pagination-with-recyclerview

https://stackoverflow.com/a/45909144/5559590

【讨论】:

  • 谢谢。我已经看到分页上的线程确实提供了解决方案。但这应该是正常的吗?我的意思是这听起来很昂贵,每次人们滚动某个触发数据库调用的位时。或者我是不是在想这个并且它不像我想象的那样低效?有没有推荐的数字,比如一次加载 20 张卡而不是 10 张?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-28
  • 2019-09-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多