2

使用 Universal Image Loader,是否可以直接将图像保存到磁盘并在应用程序的不同运行之间重用这些图像?

我知道imageLoader.displayImage(imageURI, itemHolder.image, options);第二次从缓存中获取图像,但是如果您退出应用程序,缓存将被删除。

我希望显示图像方法将图像保存到永久位置,并在应用程序每次调用该方法时使用该位置。

这可以使用通用图像加载器还是我需要找到另一种方法?

4

2 回答 2

1

尝试使用

.discCache(new FileCountLimitedDiscCache(cacheDir, new Md5FileNameGenerator(), 1000)) 

ImageLoaderConfiguration 中的选项

它对我有用。

于 2014-01-10T20:58:16.607 回答
0

您可以将图像保存到隐藏文件夹,然后随时重新使用。

String root = Environment.getExternalStorageDirectory().toString();
File myDir = new File(root + "/.saved_images");    
myDir.mkdirs();
Random generator = new Random();
int n = 10000;
n = generator.nextInt(n);
String fname = "Image-"+ n +".jpg";
File file = new File (myDir, fname);
if (file.exists ()) file.delete (); 
try {
       FileOutputStream out = new FileOutputStream(file);
       finalBitmap.compress(Bitmap.CompressFormat.JPEG, 90, out);
       out.flush();
       out.close();

} catch (Exception e) {
       e.printStackTrace();
}

这在你的清单中

 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

注意.我在文件夹名称之前插入的,这将使文件夹隐藏。

于 2013-09-15T12:55:05.657 回答