OkHttp磁盘缓存没有预期的那么快

时间:2016-04-25 23:40:30

标签: android caching picasso okhttp

我使用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,只是强制执行一些身份验证。谢谢!

1 个答案:

答案 0 :(得分:1)

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