壁画 - 取消预取请求

时间:2015-11-27 16:08:38

标签: android image-loading prefetch fresco

在我的应用程序中,我正在预取图像,以便在用户使用prefetchToBitmapCache滚动时加载更快。现在,当用户应用过滤器时,这些预取将​​保留在管道中并减慢新图像的加载速度。

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

1 个答案:

答案 0 :(得分:2)

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

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

// cancel prefetch
prefetchDataSource.close();