我使用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,只是强制执行一些身份验证。谢谢!
答案 0 :(得分:1)
OkHttp可能正在使用条件GET请求,在这种情况下,使用网络和缓存。通常,当缓存的响应没有允许长期缓存的Cache-Control
标头时就是这种情况。