Fresco图片加载库中Drawee和ImagePipeline的区别

difference between Drawee and ImagePipeline in Fresco Image Loading Library

我在我的应用程序中使用 Fresco Image Loader,其中 uri 被加载到 SimpleDraweeView。我有一个图像列表,有时我将同一张图像加载到两个不同的视图中。在这种情况下,fresco 是将图像从缓存加载到 SimpleDraweeView 还是在需要时从网络下载图像,以及我需要在哪里使用 DraweeImagePipeline。请帮助我。

Fresco 库专为解决此类问题而构建。要回答您的第一个问题,不,图像不会被下载两次。它甚至不会被解码两次。 Fresco 避免做任何重复的工作。您应该完全可以同时在多个视图中使用相同的 uri。

至于你的另一个问题,Drawee 在 ImagePipeline 之上的 API 级别上运行。这两个不是竞争。 ImagePipeline 之于 Drawee 就像轮子之于汽车。如果你想显示图像你应该使用 Drawee 而不是 ImagePipeline。如果您需要获取实际的图像字节或对位图执行除显示之外的其他操作,您应该使用 ImagePipeline。