Android RecylerView缓冲区大小

Android RecylerView缓冲区大小,android,android-recyclerview,Android,Android Recyclerview,我是一个初学者,偶然发现了回收视图。我已经设置了适配器和视图保持架。但有一件事与我有关 如果我们有一个非常大的数据集,比如联系人,那么如何在适配器内处理数据集的大小。如果我不断地将项目添加到列表中,那么它会很快填满内存吗 有什么减少内存使用的建议吗?如果您不知道recycler视图是如何工作的,那么您是对的 在引擎盖下,一切都不同了。您所假设的是用于列表视图,但在回收视图中与列表视图 RecyclerView只创建显示动态内容屏幕部分所需的视图持有者数量,外加一些额外的视图持有者。当用户滚动列表

我是一个初学者,偶然发现了回收视图。我已经设置了适配器和视图保持架。但有一件事与我有关

如果我们有一个非常大的数据集,比如联系人,那么如何在适配器内处理数据集的大小。如果我不断地将项目添加到列表中,那么它会很快填满内存吗


有什么减少内存使用的建议吗?

如果您不知道recycler视图是如何工作的,那么您是对的

在引擎盖下,一切都不同了。您所假设的是用于
列表视图
,但在
回收视图
中与
列表视图

RecyclerView只创建显示动态内容屏幕部分所需的视图持有者数量,外加一些额外的视图持有者。当用户滚动列表时,RecyclerView获取屏幕外视图并将其重新绑定到屏幕上滚动的数据


非常有用,要了解
RecyclerView
是如何工作的

首先,RecyclerView只在屏幕显示时创建项目,它可以恢复项目;
其次,当您的数据很大时,您应该使用分页,您可以加载一次固定的项。现在您可以使用androidx.appcompat中的组件分页。

RecyclerView
将只加载屏幕上可见的项目数。因此,在这种情况下,您不必担心内存问题。为了使这一点更加优雅,您可以在
RecyclerView
中使用分页来逐页加载数据。但是,包含适配器内所有项的缓冲区呢?除非您没有创建额外的无用对象,否则这些数据是显而易见的。对于这种特殊情况,分页是件好事。。对于1000个项目,每页加载50个项目。。所以,若用户只对最上面的项目感兴趣,那个么您已经保存了950个对象。。。