【问题标题】:Impact of setting custom HTTP Client Cache on Picasso Client设置自定义 HTTP 客户端缓存对 Picasso 客户端的影响
【发布时间】:2017-02-20 16:02:28
【问题描述】:

我正在使用 Picasso 下载图像,并有自定义 OKHttp 下载客户端实现,我们在其中创建了大约 153MB 的自定义缓存。我想知道这是否会覆盖毕加索在设备上拥有 15% 的分配 RAM 的默认内存缓存。

【问题讨论】:

    标签: android picasso okhttp


    【解决方案1】:

    设置 HTTP 客户端的磁盘缓存不会影响 Picasso 的内存缓存。

    OkHttp 中的磁盘缓存缓存从发出 HTTP 请求收到的原始响应。它根据响应中返回的 HTTP 缓存标头执行此操作,并将它们存储在文件系统上的 LRU 中。由于响应存储为不透明字节,因此这些是正在下载的全尺寸图像。

    毕加索有一个内存缓存,用于存储解码和转换后的图像。这些是向 HTTP 客户端请求请求并将其返回的字节(从磁盘缓存或网络)解码为 Bitmap 对象的结果。这些对象也存储在 LRU 中,但在内存中。

    这两个缓存层根本不相互交互。因此,定义自定义 HTTP 缓存不会以任何方式影响内存缓存,就像更改内存缓存配置不会影响 HTTP 缓存的工作方式一样。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-15
      • 2017-01-19
      • 2022-08-18
      • 2011-08-27
      • 2018-02-12
      • 1970-01-01
      相关资源
      最近更新 更多