我是一个初学者,偶然发现了RecyclerView。我已经设置了适配器和观察器。但是有一件事让我担心。
如果我们有一个非常大的数据集(如联系人),那么如何处理适配器内部数据集的大小。如果我一直将这些项目添加到列表中,那么它会很快填满内存吗?
有什么减少内存使用的建议吗?
答案 0 :(得分:0)
如果您不知道回收站视图的工作原理,那么您是对的
内幕之下,一切都不同。您所假设的是针对ListView
的,但是在RecyclerView
中与ListView
的相同
RecyclerView仅创建显示动态内容的屏幕部分所需的视点支架,外加一些视点支架。当用户滚动浏览列表时,RecyclerView会获取屏幕外的视图并将其重新绑定到正在滚动到屏幕上的数据。
This link对于了解RecyclerView
的工作方式非常有用
答案 1 :(得分:0)
首先,RecyclerView仅在屏幕显示中创建项目,并且可以恢复该项目; 其次,当您的数据很大时,应使用分页,一次可以加载固定项。现在您可以使用androidx.appcompat中的组件分页了。