Fresco - 取消预取请求
Fresco - Cancel Prefetch Requests
在我的应用程序中,我预取了图像,因此当用户使用 prefetchToBitmapCache
滚动时它们加载得更快。现在,当用户应用过滤器时,这些预取会保留在管道中并减慢新图像的加载速度。
我如何预取:当使用向下滚动图像时,我在 LinearLayoutManager.findLastVisibleItemPosition()
的值之后预取 X 数量的图像。当用户应用过滤器时,我需要一种方法来取消所有这些预取。有没有办法做到这一点或更好的预取方式?
我是 Fresco 团队的一员,也许可以提供帮助。
imagePipeline.prefetchToDiskCache
和 imagePipeline.prefetchToBitmapCache
return DataSource<Void>
对象。如果您将 returned 实例存储在某处,您只需关闭它即可取消预取。
// initiate prefetch
prefetchDataSource = imagePipeline.prefetchToBitmapCache(imageRequest, callerContext);
// cancel prefetch
prefetchDataSource.close();
在我的应用程序中,我预取了图像,因此当用户使用 prefetchToBitmapCache
滚动时它们加载得更快。现在,当用户应用过滤器时,这些预取会保留在管道中并减慢新图像的加载速度。
我如何预取:当使用向下滚动图像时,我在 LinearLayoutManager.findLastVisibleItemPosition()
的值之后预取 X 数量的图像。当用户应用过滤器时,我需要一种方法来取消所有这些预取。有没有办法做到这一点或更好的预取方式?
我是 Fresco 团队的一员,也许可以提供帮助。
imagePipeline.prefetchToDiskCache
和 imagePipeline.prefetchToBitmapCache
return DataSource<Void>
对象。如果您将 returned 实例存储在某处,您只需关闭它即可取消预取。
// initiate prefetch
prefetchDataSource = imagePipeline.prefetchToBitmapCache(imageRequest, callerContext);
// cancel prefetch
prefetchDataSource.close();