我正在使用Picasso在我的Android应用程序中显示图像:
/**
* load image.This is within a activity so this context is activity
*/
public void loadImage (){
Picasso picasso = Picasso.with(this);
picasso.setDebugging(true);
picasso.load(quiz.getImageUrl()).into(quizImage);
}
Run Code Online (Sandbox Code Playgroud)
我已启用调试,它始终显示红色和绿色.但从不显示黄色
现在,如果我下次加载相同的图像并且互联网不可用,则不会加载图像.
问题:
我使用Picasso从磁盘加载图像,例如,Picasso.with(ctx).load(new File("/path/to/image")).into(imageView)但每当我在该文件中保存新图像并刷新我的时候ImageView,Picasso仍然会缓存位图.
是否有可能使Picasso中的缓存无效?
I'm using picasso library to load images for my app. But I don't how to implement my own disk (sdcard) caching with picasso library.
在Volley库中,NetworkImageView类需要ImageLoader 通过在ImageCache 实现中搜索所有图像请求来处理所有图像请求,用户可以自由选择缓存应该如何工作,图像的位置和名称.
我正在切换Volley 到Retrofit,我决定尝试的图像Picasso.
使用前一个库,我在包含图像URL的每个项目中都有一个String参数,然后我使用myNetworkImageView.setImageUrl(item.getURL())它,它能够确定图像是否缓存在磁盘上.如果图像存在于缓存文件夹中,则加载图像,否则下载并加载图像.
我希望能够对Picasso做同样的事情,是否可以使用PicassoAPI或我应该自己编写这样的功能?
我想将图像下载到文件夹(缓存文件夹),并Picasso.with(mContext).load(File downloadedimage)在完成时使用.这是正确的方法还是有任何最佳做法?
我正在使用picasso库来加载图像.在默认的毕加索中,它使用内部缓存来加载图像.但是根据我的app配置,我必须使用外部缓存(Cache on Disk).所以我将此代码用于磁盘上的缓存
File httpCacheDir = new File(getApplicationContext().getExternalCacheDir(),"http");
long httpCacheSize = 10 * 1024 * 1024; // 10 MiB
HttpResponseCache.install(httpCacheDir, httpCacheSize);}
Run Code Online (Sandbox Code Playgroud)
毕加索很灵活.所以现在它在外部Sd卡中缓存图像..
缓存存储在sdcard/android/data/packagename/cache/http中.缓存存储在".1",".0"中.格式所以我只是打开它们并更改为".1"到".jpg".它给出了我需要的精确图像.但是如何以编程方式完成?但毕加索本身将我的记忆缓存到我的应用程序中以将图像加载到imageview中.但我必须将它们直接保存为sdcard作为图像/将位图设置为离线模式下的壁纸?