【问题标题】:OkHttp disk cache not as fast as expectedOkHttp 磁盘缓存没有预期的那么快
【发布时间】:2016-08-19 13:50:31
【问题描述】:

我正在使用 OkHttp 磁盘缓存来存储 Picasso 的图像,它们肯定是从磁盘加载的,但是在加载包含图像的页面时仍然存在几毫秒的延迟.它真的应该是即时的(通过其他应用程序验证)。我通过以下方式设置了 10MB 的磁盘缓存:

// A cache that will help us keep images on disk so we minimize calls to /get_picture
    int cacheSize = 10 * 1024 * 1024; // 10 MiB
    Cache cache = new Cache(context.getCacheDir(), cacheSize);
    httpClient.cache(cache);

谁能帮我理解为什么会发生这种情况?我正在使用:

Picasso.with(this).load(sessionManager.getUserProfileURL()).placeholder(R.drawable.default_avatar)
            .error(R.drawable.default_avatar).into(mImageView);

将它们加载到图像中。

如果有帮助,我已经制作了自己的 PicassoSingleton,它只是强制执行一些身份验证。谢谢!

【问题讨论】:

    标签: android caching picasso okhttp


    【解决方案1】:

    可能 OkHttp 正在使用条件 GET 请求,在这种情况下,网络和缓存都会被使用。通常情况下,缓存的响应没有允许长期缓存的 Cache-Control 标头。

    【讨论】:

      猜你喜欢
      • 2017-07-03
      • 2015-11-15
      • 2016-01-29
      • 2023-03-20
      • 2018-05-31
      • 1970-01-01
      • 1970-01-01
      • 2013-02-22
      • 2015-10-01
      相关资源
      最近更新 更多