- 获取Viewholder
RecyclerView.ViewHolder holder = recyclerView.findViewHolderForAdapterPosition(index);
- 如果holder为空的话,从缓存中取
//缓存池
RecyclerView.RecycledViewPool pool = recyclerView.getRecycledViewPool();
//需要传递一个type,为当前ViewHolder的类型
holder = pool.getRecycledView(type);
- 如果用过holder后,还需要复用,就放回去
pool.putRecycledView(holder);
findViewHolderForAdapterPosition 为适配器中元素的位置信息
findViewHolderForLayoutPosition 为最新布局下的位置信息
本文详细解析了在Android开发中,RecyclerView如何通过ViewHolder的获取与复用来提高性能。包括使用findViewHolderForAdapterPosition和findViewHolderForLayoutPosition方法定位ViewHolder,以及通过RecycledViewPool进行缓存和回收的流程。

1万+

被折叠的 条评论
为什么被折叠?



