0

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

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

4

1 回答 1

2

我是 Fresco 团队的一员,也许可以提供帮助。两者都imagePipeline.prefetchToDiskCache返回imagePipeline.prefetchToBitmapCache对象DataSource<Void>。如果您将返回的实例存储在某处,则可以关闭它,这应该会取消预取。

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

// cancel prefetch
prefetchDataSource.close();
于 2015-12-03T21:40:33.563 回答