2016-04-25 56 views
0

我使用OkHttp磁盘缓存来存储毕加索的图像,他们肯定从磁盘加载,但是当加载一个磁盘时仍然存在几ms的滞后时间带图片的页面。它确实应该是即时的(通过其他应用程序验证)。我已经设置了10MB的磁盘缓存:OkHttp磁盘缓存没有像预期的那么快

// 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

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