缓存复制Universal ImageLoader和Picasso

时间:2016-08-03 14:00:52

标签: android caching picasso universal-image-loader

在我的应用程序中使用两个biblotecas,Universal Image Loader和另一个使用picasso库的文件,

picasso库,将图像记录在cache / cache / picasso-cache /中,并使用MD5 URL生成名称。

要分离缓存通用映像加载器,我写入/ cache / LazyLoad /以及使用项ID生成的名称。

我的配置代码Universal Image Loader

DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder()
                .resetViewBeforeLoading(true)
                .cacheOnDisk(true)
                .cacheInMemory(true)
                .imageScaleType(ImageScaleType.EXACTLY)
                .displayer(new FadeInBitmapDisplayer(300))
                .build();

ImageLoaderConfiguration.Builder config = new  ImageLoaderConfiguration.Builder(getApplicationContext());
        config.defaultDisplayImageOptions(defaultOptions);
        config.memoryCache(new WeakMemoryCache());
        config.threadPriority(Thread.NORM_PRIORITY - 2);
        config.denyCacheImageMultipleSizesInMemory();

        config.tasksProcessingOrder(QueueProcessingType.LIFO);
        config.writeDebugLogs(); // for debug

FileNameGenerator fileNameGenerator = new FileNameGenerator() {
            @Override
            public String generate(String imageUri) {
                String fileName = imageUri.substring(imageUri.lastIndexOf('/')+1, imageUri.length());
                String fileNameWithoutExtension = fileName.substring(0, fileName.lastIndexOf('.'));
                return fileNameWithoutExtension;
            }
        };

        String pathCache = Globais.getCacheDirImageLazyLoad(mContext); //returns StorageUtils.getCacheDirectory(context, false).getAbsolutePath() + "/lazyload";
        File f  = new File(pathCache);
        if (!f.exists())
            f.mkdirs();

        DiskCache diskCache = new UnlimitedDiskCache(f, null, fileNameGenerator);
        config.diskCache(diskCache);

        config.diskCacheFileNameGenerator(fileNameGenerator);

        ImageLoader.getInstance().init(config.build());

在我开始使用使用毕加索的组件后开始加倍缓存的问题,使用通用图像加载器的所有图像也出现在Picasso的缓存中。

我该如何解决这个问题?

有人有任何想法吗?

0 个答案:

没有答案