我找不到任何使用ViewCacheExtension的示例或场景。文档说:
调用getViewForPosition(int)时,Recycler会检查附加的废料 和第一级缓存,以找到匹配的视图。如果找不到的话 合适的View,Recycler会打电话给 检查前getViewForPositionAndType(Recycler,int,int) RecyclerView.RecycledViewPool
我的相关问题很少:
此方法不应创建新视图
我还能如何返回视图?我能想到的唯一方法是在ViewCacheExtension中缓存报废的视图。当ViewCacheExtension已满时,请尝试将数据移至RecycledViewPool。有人可以确认我是对的吗?有4级缓存(废品,“第一级”,ViewCacheExtension,RecycledViewPool)有什么意义?
即使查看了RecyclerView源代码,我也找不到正在实现的ViewCacheExtensions的引用。
答案 0 :(得分:1)
我遇到了类似的问题,因为我需要缓存回收者视图项目(我正在对recyclerview中使用的视图进行充气,并且大小是可变的...因此每次都有视图通胀和突然的混蛋)
已经提供了回收站视图缓存,我猜回收器视图确实只将缓存大小设置为零
所以当我添加这一行时,缓存是成功的,而且这个混蛋只是第一次
mRecyclerView.setItemViewCacheSize(data.getCount());
但是如果用户想要仅缓存特定视图,我也会感到困惑。如果你得到了什么,请发帖
希望它有所帮助:)