我正在使用MaterialDrawer库并使用Picasso加载个人资料图片。但我无法在Picasso本地保存,并在将来从缓存中加载它。
在创建抽屉之前,
//below line is for loading profile image from url
DrawerImageLoader.init(new DrawerImageLoader.IDrawerImageLoader() {
@Override
public void set(ImageView imageView, Uri uri, Drawable placeholder) {
Picasso.with(imageView.getContext()).load(uri).placeholder(placeholder).into(imageView);
}
@Override
public void cancel(ImageView imageView) {
Picasso.with(imageView.getContext()).cancelRequest(imageView);
}
@Override
public Drawable placeholder(Context ctx) {
return null;
}
});
我写的这是材料库说的。然后我设置我的个人资料图片:
String myURL = "http://www.american.edu/uploads/profiles/large/chris_palmer_profile_11.jpg"
profile = new ProfileDrawerItem().withName(person.getFullName()).withEmail(person.getStMajorName()).withIcon(myURL)
但每次我运行应用程序时,都会从互联网上加载它。
如何缓存图像?
答案 0 :(得分:1)
默认情况下,Picasso
附带一个适用于大多数用例的默认实现。
有各种解决方案允许您强制Picasso
从缓存加载图像。或者改变这种行为。
您应该查看以下 StackOverFlow 问题,该问题会针对您的问题提供不同的解决方案: