毕加索如何优化位图和网络请求?

时间:2019-07-13 04:06:17

标签: android picasso

我正在使用Picasso处理我的android应用程序中与图像相关的内容。我正在使用2.5.2版。

我将有一个特定的布局,在那里我将从互联网上加载大量图像。确实有很多图像。

因此,在开始之前,我担心毕加索将如何处理内存和网络优化。

1-图像将使用recyclerview显示,所以我希望它将有助于减少所需的存储空间
2-在我的特定情况下,许多图像将被重复。假设我有1k张图片(例如):前100张图片将从相同的网址加载,然后900张图片来自不同的网址。

问题是:
1-毕加索会触发100个请求加载同一张图片吗?还是会保留一些本地缓存并忽略99?
2-加载图像时会使用某种机制来节省内存吗?就像在显示完全相同的图像时使用相同的位图

如果有人可以在更符合我要求的库中为我提供建议,我将非常感激

1 个答案:

答案 0 :(得分:3)

请找到在线答案

  

1-毕加索会触发100个请求加载同一张图像吗?还是会保留一些本地缓存并忽略99?

每次Picasso都具有内置的缓存来处理此图像时,都会缓存而不下载图像,实际上,所有图像加载库(例如Glide,Fresco和Picasso都具有内置的

  

2-加载图像时会使用某种机制来节省内存吗?就像在显示完全相同的图像时使用相同的位图

内置的缓存会为您处理此问题,所有这些库在内部都会跟踪是否在重新下载源之前使用缓存过期标记更改了源。

  

如果有人可以在更符合我要求的库中为我提供建议,我将非常感谢

使用任何图像加载库,例如Glide,Fresco和Picasso,但Google推荐Glide