Russell Ghana
Russell Ghana

Reputation: 3123

Different saving path for universal image loader

I am using 'universal image loader' library in my application to load images from internet. In some parts of my application I don't need to cache the images in memory for long time so I clear the cache every 24 hours. In other parts I need to cache images for long time and I don't want to clear them.

My question is, is it possible to config universal image loader some how to use different caching paths and the other question is how can I save the cached data in a custom folder ?

This is how I configure my uil :

options = new DisplayImageOptions.Builder()
    .showImageOnLoading(R.drawable.image_loading)
    .showImageForEmptyUri(R.drawable.strawberry)
    .showImageOnFail(R.drawable.image_faild)
    .cacheInMemory(false)
    .cacheOnDisk(true)
    .considerExifParams(true).build();
    ImageLoader.getInstance().init(ImageLoaderConfiguration.createDefault(this));

Upvotes: 0

Views: 180

Answers (1)

ArtKorchagin
ArtKorchagin

Reputation: 4853

You may use different instances DisplayImageOptions. Something like this

cachedOnDiskOptions = new DisplayImageOptions.Builder()
    .showImageOnLoading(R.drawable.image_loading)
    .showImageForEmptyUri(R.drawable.strawberry)
    .showImageOnFail(R.drawable.image_faild)
    .cacheInMemory(false)
    .cacheOnDisk(true)
    .considerExifParams(true).build();

cachedInMemoryOptions = new DisplayImageOptions.Builder()
    .showImageOnLoading(R.drawable.image_loading)
    .showImageForEmptyUri(R.drawable.strawberry)
    .showImageOnFail(R.drawable.image_faild)
    .cacheInMemory(true)
    .cacheOnDisk(false)
    .considerExifParams(true).build();

 ImageLoader.getInstance().displayImage(url, imageView, cachedInMemoryOptions);
 ImageLoader.getInstance().displayImage(anotherUrl, anotherImageView, cachedOnDiskOptions);

Upvotes: 1

Related Questions