毕加索加载图像后,将图像保存在SD卡中

时间:2016-06-17 19:39:09

标签: java android picasso

我正在使用picasso插件来加载图片。

Picasso.with(context).load(BackendConfig.media_url+folder+holder.media_name).resize(150, 150).into(holder.imageView);

工作正常。但是,我想通过从URL加载一次,将该图像保存在SD卡中。

我该怎么做?

2 个答案:

答案 0 :(得分:1)

Picasso使用LRU磁盘缓存,无需担心从URL加载一次。如果您需要将实际图像加载并保存为文件,请将其作为位图资源加载,并使用Bitmap.compressFileOutputStream保存到文件中(PNG / JPEG / WEBP)。

答案 1 :(得分:1)

你可以使用这个轻量级的android库VINCI(为我自己写这个)它做你想做的每件事

  • 缓存 - 使用LruCache
  • 管理files/bitmaps(在 internalStorage 中保存文件)

请阅读此WIKI part,了解更多信息,请访问我的github repo

Storage store = Vinci.base(context).process().load(uri).file();

Log.e("Created", Boolean.toString(store.isCreated()));
Log.e("FileObject", store.FileObject().toString());
Log.e("FullPath", store.getfullPath().getPath());
Log.e("LocalPath", store.LocalPath());
Log.e("Get Bitmap File", String.valueOf(store.getBitmap()));