【问题标题】:does picasso optimize bitmaps and network requests?毕加索会优化位图和网络请求吗?
【发布时间】:2019-07-13 12:30:07
【问题描述】:

我正在使用 picasso 来处理我的 Android 应用程序中的图像相关内容。我使用的是 2.5.2 版本。

我将有一个特定的布局,我将从互联网加载大量图像。真的很多图片。

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

1-图像将使用recyclerview 显示,所以我希望它有助于减少所需的内存
2-在我的特定场景中,许多图像将被重复。所以假设我有 1k 张图片(例如):前 100 张图片将从同一个 url 加载,然后是 900 张来自不同 url 的图片。

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

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

【问题讨论】:

标签: android picasso


【解决方案1】:

请查找内联答案

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

每次 Picasso 确实有一个内置缓存来处理这个问题时,图像都会被缓存而不是下载,事实上所有的图像加载库,如 Glide、Fresco 和 Picasso 都内置了这个

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

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

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

使用任何一种图片加载库,例如 Glide、Fresco 和 Picasso,但 google 推荐使用 Glide

【讨论】:

  • @Rafael Lima 你最后用 Glide 或 picasso 做了什么
猜你喜欢
  • 1970-01-01
  • 2016-09-14
  • 1970-01-01
  • 1970-01-01
  • 2016-12-31
  • 2020-05-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多