我创建了一个带有缩略图的回收者视图,实时生成。我的问题是我需要在当前可见的项目之前预先加载50个项目(缩略图),而我似乎无法找到合适的方法。
我知道可以使用getExtraLayoutSpace()
中的LinearLayoutManager
进行预加载,但它对我没有用。如果你在Android代码中查看这个额外的布局空间实现,你会发现它只是在滚动方向上可用的空间。当改变滚动方向时,准备好在新方向上预加载的所有项目,并且旧的项目不再可用。因为我试图预加载很多项目,所以在我的情况下更改滚动方向时会导致非常明显的挂起 - 50.我正在单独的线程中加载缩略图但是所有项目显然都在UI线程上布局(这似乎导致了悬念)。
我对第三方图书馆也不感兴趣,因为我已经写了很多代码,使得一切都与回收者视图的基本实现相关,而且我没有时间进行大量的重构。
您是否知道在RecyclerView
预加载项目的其他方式?也许以某种方式调整LinearLayoutManager
?我当然希望你知道一个好的方法,所以我可以避免实施精心设计的缩略图缓存。