Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 毕加索-仅访问内存缓存_Android_Picasso - Fatal编程技术网

Android 毕加索-仅访问内存缓存

Android 毕加索-仅访问内存缓存,android,picasso,Android,Picasso,我正在写一个画廊视图,我有两组图像;低质量和高质量 在“多媒体资料”活动中,图像一次显示一个。我先显示低质量图像,然后是高质量图像(就地) 低质量的图像已经在前一个屏幕中访问过,应该预先缓存在内存中。我想做的是只访问内存缓存-然后移动到高质量图像(不管是否加载了低质量图像) 然后一切照旧,毕加索可以在必要时下载高质量的图像 我可以通过同时使用NetworkPolicy.NO\u CACHE,NetworkPolicy.NO\u STORE和NetworkPolicy.OFFLINE来实现我想要的

我正在写一个画廊视图,我有两组图像;低质量和高质量

在“多媒体资料”活动中,图像一次显示一个。我先显示低质量图像,然后是高质量图像(就地)

低质量的图像已经在前一个屏幕中访问过,应该预先缓存在内存中。我想做的是只访问内存缓存-然后移动到高质量图像(不管是否加载了低质量图像)

然后一切照旧,毕加索可以在必要时下载高质量的图像


我可以通过同时使用
NetworkPolicy.NO\u CACHE
NetworkPolicy.NO\u STORE
NetworkPolicy.OFFLINE
来实现我想要的吗?

你现在可能已经解决了,但是对于其他登陆这里的人来说-是的,你当然可以

Picasso.with(context)
    .load(smallImageUrl)
    .networkPolicy(NetworkPolicy.OFFLINE, NetworkPolicy.NO_CACHE)
    .into(imageView, new Callback() {          
        @Override
            public void onSuccess() {
            Picasso.with(context).load(largeImageUrl).into(imageView);
        }

        @Override
            public void onError() {
            Picasso.with(context).load(largeImageUrl).into(imageView);
        }
});
(为简洁起见,请原谅不遵守干燥原则)

因此
NetworkPolicy.OFFLINE
会阻止它尝试从网络中取出,而
NetworkPolicy.NO\u CACHE
会阻止检查磁盘缓存(这是来自
OkHttp
HttpUrlConnection
的网络缓存,具体取决于您使用的内容)

我还建议将毕加索留给后者,因为它通常在感知上与内存缓存一样快