如何进一步优化android recyclerview?

时间:2017-09-10 04:42:46

标签: android performance android-recyclerview

一开始我们有listViews。作为开发人员,我们必须回收并重用视图以获得流畅的体验。

然后,来了recylclerviews。现在,所有的回收重物都是由android库本身管理的。

使用分页,可以实现无限的回收视图,在需要时加载数据。

但是我仍然面临一个无限回收的问题。如何管理适配器中的数据?

在recyclerview的大多数无限滚动实现中,新数据被附加到原始数据。这使得数据集的大小不断增加。 为什么cant数据集本身的行为与recyclerview不同并且回收其数据而不是追加? (就像一个循环队列)。

当数据集是循环队列时,如何管理项目视图的位置。是不必要的,产生的性能改善太少了?我错过了一些设计模式吗?

1 个答案:

答案 0 :(得分:0)

可以清除已经加载的数据,但这样你就不得不加载数据,而不仅仅是#34; bottom"观点,但对于"上层"太。所以用户想要回到以前的数据,他需要再次加载这些数据,这就是问题所在。

关于通知recyclerView中更改的数据集可能会有更多工作。

您可以通过这种方式实现它,但请记住分页及其实现方式 - 例如,以SQL语句限制数据标准方式可以在每次调用时输出不同的数据,因此用户支持以前的数据可以看到其他结果!检查Twitter pagination,了解每次获得相同结果的方法之一。

优点:

  • 内存中的数据越少

缺点:

  • 更多编写代码的工作
  • 为用户加载更多数据(更多互联网使用,更多加载时间 - 当用户想要恢复到以前的数据时)
  • 分页必须更仔细地设计