无法设置GlideBuilder

3
我使用Glide库来开发Android应用,我希望能够将缓存数据存储到自定义文件夹中,以使清除标准缓存文件夹时(例如使用Master Clean)不会影响到我的程序。 为此,我参考了手册上的代码,但是这段代码对我来说没有起作用。
我的代码:
DiskCache.Factory diskCacheFactory = new DiskCache.Factory() {
            @Override
            public DiskCache build() {
                DiskCache diskCache = DiskLruCacheWrapper.get(getFilesDir(), 1024*1024*100);
                return diskCache;
            }
        };
        new GlideBuilder(this).setDiskCache(diskCacheFactory);
        Glide.with(this)
                .load("http://www.website.com/1.jpg")
                .into(imageView);

运行此应用程序后,Glide将图像保存在默认文件夹中。


1
我正在搜索GlideBuilder的使用示例,但找不到。 - user4571550
这与 https://github.com/bumptech/glide/issues/512 中的原始问题相同。 - TWiStErRob
2个回答

8
在Glide 3.5中,Glide.isSetup()和Glide.setup()已经被弃用。最好的方法是使用GlideModules来实现这种配置的延迟加载。请查看配置的维基页面

如果有人想在某个Activity中使用不同的配置,该怎么办?例如,假设您希望为某些图像使用不同的缓存位置? - mkuech
1
@mkuech,GlideBuilder中设置的配置是全局的。个别请求通常允许您设置更具体的选项,其中一些可能会覆盖全局默认值。目前无法按每个请求基础更改缓存位置,尽管这是以前提出的问题。请随时在GitHub上打开一个新问题:https://github.com/bumptech/glide/issues/new - Sam Judd

1

尝试使用:

if (!Glide.isSetup()) {
   GlideBuilder gb = new GlideBuilder(this);
   DiskCache dlw = DiskLruCacheWrapper.get(new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/myCatch/"), 250 * 1024 * 1024);
   gb.setDiskCache(dlw);
   Glide.setup(gb);
}

1
Glide.setup方法现已弃用。 - Dharmendra

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接