Abh*_*ddy 3 java android android-layout android-view android-recyclerview
我试图理解setRecycledViewPool方法实际上与下面的代码行中的RecyclerView一起做什么,其中mrecyclerView
是RecyclerView对象:
mrecyclerView.setRecycledViewPool(new RecyclerView.RecycledViewPool());
Run Code Online (Sandbox Code Playgroud)
我阅读了Android文档链接,但我仍然不明白它的作用.有人可以向我解释它的用途以及何时使用它?
azi*_*ian 13
来自docs:
循环视图池允许多个RecyclerView共享一个公共的废料视图池.如果您有多个使用相同视图类型的适配器的RecyclerView,这可能很有用,例如,如果您有多个数据集具有ViewPager显示的相同类型的项目视图.
默认情况下,ViewHolder
池中会保留5 秒以用于特定的viewType.如果您想更改该计数,可以这样做:
recyclerView.getRecycledViewPool()
.setMaxRecycledViews(SOME_VIEW_TYPE, POOL_CAPACITY);
Run Code Online (Sandbox Code Playgroud)
来自这篇博文:
那么我们如何选择最佳的游泳池大小呢?似乎最佳策略是在你需要它之前扩展池,并在之后缩小它.实现此目的的一种肮脏方式如下:
recyclerView.getRecycledViewPool().setMaxRecycledViews(0, 20);
adapter.notifyDataSetChanged();
new Handler().post(new Runnable() {
@Override
public void run() {
recyclerView.getRecycledViewPool()
.setMaxRecycledViews(0, 1);
}
});
Run Code Online (Sandbox Code Playgroud)
setRecycledViewPool(...)
当我们有一个嵌套的RecyclerView时会很有用。请参见本博客文章的详细信息。此处添加了相同链接的简短描述。
考虑一个嵌套RecyclerView
s和inner RecycleView
共享相同视图结构的情况。RecycledViewPool
提供了一种在这些内部(嵌套)之间共享视图的隐秘方式RecyclerView
。
下图显示了这种情况的示例:
如您所见,两个列表的视图类型相同。
归档时间: |
|
查看次数: |
10423 次 |
最近记录: |