Fresco - 取消预取请求

Fresco - Cancel Prefetch Requests

在我的应用程序中,我预取了图像,因此当用户使用 prefetchToBitmapCache 滚动时它们加载得更快。现在,当用户应用过滤器时,这些预取会保留在管道中并减慢新图像的加载速度。

我如何预取:当使用向下滚动图像时,我在 LinearLayoutManager.findLastVisibleItemPosition() 的值之后预取 X 数量的图像。当用户应用过滤器时,我需要一种方法来取消所有这些预取。有没有办法做到这一点或更好的预取方式?

我是 Fresco 团队的一员,也许可以提供帮助。 imagePipeline.prefetchToDiskCacheimagePipeline.prefetchToBitmapCache return DataSource<Void> 对象。如果您将 returned 实例存储在某处,您只需关闭它即可取消预取。

// initiate prefetch
prefetchDataSource = imagePipeline.prefetchToBitmapCache(imageRequest, callerContext);

// cancel prefetch
prefetchDataSource.close();